我有两节课。
public class Category
{
public int Id {get;set;}
public string Name{get;set;}
}
public class Product
{
public int ProductId{get;set;}
public string Name{get;set;}
public List<Category> ProductCategory {get;set;}
}
现在我有基于我需要获得产品的分类列表
List<string> filtercategory ={"HomeMade","Uncooked"}.
我需要所有不属于HomeMade&#39;的产品。和&#39;未煮熟的&#39;。
这对linq查询逻辑应该是什么?
感谢。
答案 0 :(得分:0)
您只需使用Where
:
List<Product> productList = GetProducts();
var filteredProducts = productList
.Where(p => p.ProductCategory
.All(pc => !filtercategory.Contains(pc.Name)))
.ToList();
这会过滤productList
,只会在filtercategory
中仅包含所有类别名称未包含的产品。
我只在linq-to-sql中测试了这个,而不是实体,所以我不能100%确定这对于实体也适用。