澄清LINQ以及如何正确加载表

时间:2013-08-17 18:53:00

标签: c# .net linq entity-framework

假设我有2个表:

表A:,列:A_ID,B_ID

表B:,列:B_ID

根据我在TableA下的模型图,A_ID列和B的NavigationProperty看起来只是对B的引用。(可能因为它是FK?)

现在困扰我的是,一旦我加载了context.TableA.ToList()行 我尝试迭代这个列表中的项目,我没有访问简单列B_ID,但我只有B,一旦做item.B.ID我得到一个空引用。

代码示例:

List<TableA> items = context.TableA.ToList();

foreach(TableA item in items)
{
    item.B.ID <- null reference.
}

我知道这可能是LINQ背后的想法,但我认为我的做法是错误的。任何人都可以 请解释我如何正确加载整个表格的列? LINQ的这些原理如何反映在我的例子中?

请提供代码示例:)

2 个答案:

答案 0 :(得分:3)

This article可能会为您提供解决方案。

您需要急切加载相关实体。

答案 1 :(得分:0)

正如我们在聊天中讨论的那样,实体框架语法已经改变,并且使用当前的实体框架5保持最新,将确保各个页面上列出的示例保持相关。

相关问题