linq到实体-包含lambda表达式
我有一个小问题,我真的不知道如何解决。在下面的示例中,我想选择一个ProductCategories列表,其中ProductItems处于活动状态linq到实体-包含lambda表达式,linq,entity-framework,linq-to-entities,lambda,Linq,Entity Framework,Linq To Entities,Lambda,我有一个小问题,我真的不知道如何解决。在下面的示例中,我想选择一个ProductCategories列表,其中ProductItems处于活动状态 public IEnumerable<ProductCategory> ListProductCategories() { return _entities.ProductCategorySet.Include("ProductItems").Where(x => x.ProductItems
public IEnumerable<ProductCategory> ListProductCategories()
{
return _entities.ProductCategorySet.Include("ProductItems").Where(x => x.ProductItems.Active == true).ToList();
}
public IEnumerable ListProductCategories()
{
返回_entities.ProductCategorySet.Include(“ProductItems”).Where(x=>x.ProductItems.Active==true).ToList();
}
问题是我无法访问lambda表达式中活动的productItem属性,这是什么问题?当我试图编写一个像上面那样的linq查询时,我是否认为完全错了?可能有多个项目。您可能希望选择所有项目都处于活动状态的类别:
return _entities.ProductCategorySet
.Include("ProductItems")
.Where(x => x.ProductItems.All(item => item.Active))
.ToList();
这个解决方案并没有真正解决问题。您的解决方案仅返回包含任何productitems的productcategories。他们是否活跃并不重要。我想要返回的是所有productcategories和productitems,仅当productitems处于活动状态==true时。