EF 中的多对多查询不断返回空结果

发布于 2024-10-21 05:35:38 字数 235 浏览 2 评论 0 原文

我正在使用带有 POCO 的 EF 4,并禁用延迟加载和代理创建(由于序列化要求)。我有两个表,它们使用第三个交叉引用表具有多对多关系。在 EF 中,交叉引用实体不存在,并且实体关系的两侧都有一对多的导航属性(如预期)。

但是,当我使用已通过 SQL Manager 查询确认具有数据的实体之一的导航属性时,我得到一个空结果集。

还有其他人遇到过这个吗?如果是这样,任何有关如何解决的建议将不胜感激。

谢谢!

I'm using EF 4 with POCO and lazy loading and proxy creation disabled (due to serialization requirements). I have two tables that have a many to many relationship using a third cross-reference table. In EF, the cross-reference entity does not exist and I have one to many navigation properties on both sides of the entity relationships (as expected).

However, when I use the naviation property of one of the entities that I have confirmed via SQL Manager queries to have data, I get an empty result set.

Has anyone else run into this? If so, any advice on how to resolve would be most appreciated.

Thanks!

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

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

发布评论

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

评论(2

伴我老 2024-10-28 05:35:38

您需要使用 LoadProperty包含方法。

           Order order = EFContext.Orders.Include("Lines")
                         .Where(m => m.OrderID == orderId).First();

更多来自 [MSDN]
“由于 POCO 实体与从 EntityObject 继承的对象没有相同的关系要求,因此加载相关对象需要稍微不同的过程”

You need to use LoadProperty or Include method.

           Order order = EFContext.Orders.Include("Lines")
                         .Where(m => m.OrderID == orderId).First();

More from [MSDN]
"Because POCO entities do not have the same relationship requirements as objects that inherit from EntityObject, a slightly different process is required to load related objects"

遥远的她 2024-10-28 05:35:38

您不能禁用代理创建并使用延迟加载。 (请参阅 POCO 支持延迟(延迟)加载吗? @ http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part- 1-the-experience.aspx)。

代理是延迟加载工作的基础。该链接(上面)还演示了如何急切地加载相关类型,如果您关闭代理创建,您将需要执行此操作。

You cannot disable proxy creation and also use lazy loading. (See Is Deferred (Lazy) Loading supported with POCO? @ http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx).

The proxies are what make the lazy loading work. That link (above) also demonstrates how to eagerly load the related types, which you'll want to do if you keep proxy creation off.

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