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

发布于 2024-11-07 09:24:15 字数 617 浏览 0 评论 0原文

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

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 对于财产。

With entity framework you can do something like this to load objects for multiple references with a query.

var Customer = context.Customers.Include(x=>x.Orders.Select(y=>y.Items));

It doesn't seem like I can do the same thing with the LoadProperty method. When I already have an object and I need to load some reference data I use LoadProperty.

context.LoadProperty(Customer, x=>x.Orders);

That works. But this throws an error..

context.LoadProperty(Customer, x=>x.Orders.Select(y=>y.Items));

And so does this...

context.LoadProperty(Customer.Orders, x=>x.Items);

This is the exception for both cases...

The selector expression for
LoadProperty must be a MemberAccess
for the property.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无可置疑 2024-11-14 09:24:15

没有 LoadProperty 不允许这样做。您可以尝试使用

No LoadProperty doesn't allow that. You can try to use approach described in another question.

巷雨优美回忆 2024-11-14 09:24:15

我遇到了同样的问题,最终循环遍历实体并一一加载它们:

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

I had the same problem and ended up looping through the entities and loading them one by one:

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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文