具有多个引用的实体框架LoadProperty

时间:2011-05-15 21:43:14

标签: c# entity-framework entity-framework-4

使用实体框架,您可以执行类似的操作,以使用查询加载多个引用的对象。

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   为了财产。

2 个答案:

答案 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);