具有多个引用的实体框架 LoadProperty
Posted
技术标签:
【中文标题】具有多个引用的实体框架 LoadProperty【英文标题】:Entity Framework LoadProperty with multiple references 【发布时间】:2011-05-15 21:43:14 【问题描述】:使用实体框架,您可以执行类似的操作来通过查询加载对象以供多个引用。
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 为财产。
【问题讨论】:
【参考方案1】:不,LoadProperty
不允许这样做。您可以尝试使用another question中描述的方法。
【讨论】:
【参考方案2】:我遇到了同样的问题,最终循环遍历实体并一一加载:
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);
【讨论】:
以上是关于具有多个引用的实体框架 LoadProperty的主要内容,如果未能解决你的问题,请参考以下文章