使用实体框架,您可以执行类似的操作,以使用查询加载多个引用的对象。
var Customer = context.Customers.Include(x=>x.Orders.Select(y=>y.Items));
看起来我不能用LoadProperty方法做同样的事情。当我已经有一个对象并且我需要加载一些参考数据时,我使用LoadProperty。
context.LoadProperty(Customer, x=>x.Orders);
有效。但这会引发错误..
context.LoadProperty(Customer, x=>x.Orders.Select(y=>y.Items));
这也是......
context.LoadProperty(Customer.Orders, x=>x.Items);
这两种情况都是例外......
的选择器表达式 LoadProperty必须是MemberAccess 为了财产。
答案 0 :(得分:1)
否LoadProperty
不允许这样做。您可以尝试使用another question中描述的方法。
答案 1 :(得分:1)
我遇到了同样的问题,最后循环遍历实体并逐个加载:
EFContext.LoadProperty(primingRunSelector, f => f.PrimingRun);
EFContext.LoadProperty(primingRunSelector.PrimingRun, f => f.PrimingFillbagAssignedTos);
foreach (var primingFillbagAssignedTo in primingRunSelector.PrimingRun.PrimingFillbagAssignedTos) EFContext.LoadProperty(primingFillbagAssignedTo, f => f.PrimingFillbag);