Aar*_*ron 4 many-to-many contains linq-to-sql
我有多对多的关系如下:
产品产品 ID描述
ProductFeatures ProductFeatureID ProductID FeatureID
功能特征 ID描述
任何产品都可以有许多功能.
然后我带来了一个名为"SearchFeatures"的iQueryable,它包含了我想要搜索的两个特定的Feature对象.
我想找到具有所有这些功能的产品!
像这样的东西会很好:
return db.Products.Where(x => x.Features.ContainsAll(SearchFeatures));
Run Code Online (Sandbox Code Playgroud)
使用LINQ实现此目的的最简洁方法是什么?
非常感谢.
IQueryable<Products> products = db.Products;
foreach (var feature in SearchFeatures)
{
Feature tmpFeature = feature;
products = products
.Where(x=>x.ProductFeatures.Any(y=>y.FeatureID == tmpFeature.FeatureID));
}
Run Code Online (Sandbox Code Playgroud)