使用.NET Entity Framework 6我需要过滤包含的虚拟集合的元素。我的意思很容易用以下代码解释:
context.MyEntity.Include( navigationPropertyCollection => navigationPropertyCollection.Where( np => np.IsActive() ) )
代码只是一个例子,从MyEntity说我想只包含navigationPropertyCollection的活动元素。
有没有聪明的方法呢?
答案 0 :(得分:3)
请注意,目前无法过滤加载了哪些相关实体。包含将始终引入所有相关实体。
你可以通过匿名投影来试试这个
var resultObjectList = _context.
Parents.
Where(p => p.DeletedDate == null).
OrderBy(p => p.Name).
Select(p => new
{
ParentItem = p,
ChildItems = p.Children.Where(c => c.Name=="SampleName")
}).ToList();