实体框架由孙子实体过滤

Nic*_*ros 4 c# linq-to-entities entity-framework

如果我有以下表格::
Parenthas ParentId
Child:has ChildIdParentId
Grandchild:has GrandchildId,ChildIdandQuantity

什么是检索父母列表的最佳方法,他们有一个数量大于10的孙子(例如)?

我和linq一起玩实体,生成类似的东西:

context.Parent.Includes("Children").Include("GrandChildren").Where( ... )
Run Code Online (Sandbox Code Playgroud)

但是不确定语法,我想知道性能 - 包括加载所有对象吗?实现这一目标的最佳方法是什么?

Lad*_*nka 6

试试这个:

var query = context.Parents
                   .Where(p => p.Children.Any(
                          c => c.GrandChildren.Any(g => g.Quantity > 10));
Run Code Online (Sandbox Code Playgroud)

Include 确实将加载与加载的父项相关的所有子孙实体.