作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的,我正在尝试使用 ADO.NET Entity Framework 。
我现在的测试用例包括一个 SQL Server 2008 数据库,它有 2 个表,成员和配置文件,具有 1:1 的关系。
然后我使用实体数据模型向导从数据库自动生成 EDM。它生成了一个具有正确关联的模型。现在我想这样做:
ObjectQuery<Member> members = entities.Member;
IQueryable<Member> membersQuery = from m in members select m;
foreach (Member m in membersQuery)
{
Profile p = m.Profile;
...
}
半途而废。我能够遍历所有成员。但我遇到的问题是 m.Profile 始终为空。 MSDN 库上的 LINQ to Entities 示例似乎表明我将能够像那样无缝地遵循导航关系,但它似乎并不是那样工作的。我发现如果我首先以某种方式在单独的调用中加载配置文件,例如使用 entities.Profile.ToList,那么 m.Profile 将指向一个有效的配置文件。
所以我的问题是,是否有一种优雅的方式来强制框架沿着导航关系自动加载数据,或者我是否需要通过连接或其他方式明确地执行此操作?
谢谢
最佳答案
好吧,我设法在这里找到了我需要的答案 http://msdn.microsoft.com/en-us/magazine/cc507640.aspx .以下查询将确保加载配置文件实体:
IQueryable<Member> membersQuery = from m in members.Include("Profile") select m;
关于linq - 如何在 Entity Framework 中沿导航关系强制完成加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/171771/
我是一名优秀的程序员,十分优秀!