关于实体框架的简单问题

时间:2011-08-18 13:37:50

标签: .net entity-framework

我有一个非常简单的例子:

enter image description here

这会生成这些简单的类:

enter image description here

但是,当我访问从数据库中读取的任何User对象的属性Cities时,它总是设置为null。我认为实体框架会填补该财产。我对吗?我做错了什么?

感谢。

编辑:就像我注意到的那样,我使用3.5而不是4(看起来有一些关键的区别)

3 个答案:

答案 0 :(得分:2)

我认为您正在寻找Include方法

context.Users.Include("Cities")

答案 1 :(得分:1)

默认情况下,EF使用Lazy Loading,以避免映射整个参照完整性图(假设您在Cities表下有更多表 - 它会使底层SQL查询极其庞大并包含很多JOIN)。

因此,您需要明确包含要包含的子实体,然后在后台进行JOIN。在查询用户(或.Include("Cities")之后的任何查询子集)后调用Users.Where(...)

答案 2 :(得分:0)

有趣的是,您获得的是null,而不是包含0个条目的列表。

因此,我认为这是模型定义的问题,而不是延迟加载或包含问题。

尝试生成新模型。