2012-02-14 61 views
0

我知道这个问题可能是非常基本的。因此,我一直在检查所有围绕该项目的环境。懒惰加载不工作EF4(关系总是NULL)

我正在使用一堆POCO实体,从数据库中读取数据。当创建上下文,我让代理和惰性加载:

this.ContextOptions.LazyLoadingEnabled = true; 
this.ContextOptions.ProxyCreationEnabled = true; 

_entities1 = CreateObjectSet<Entities1>(); 
_entities2 = CreateObjectSet<Entities2>(); 

我已标记的属性,我想作为虚拟自动加载,在文档为已读:

public virtual List<Entity1> GetEntities { get; set; } 

然而属性是始终为NULL。当一个像执行代码:

foreach (var forEntity in colection) 
{ 
    object x = forEntity.Entities1; 
} 

我可以看到“forEntity”是如何生成的代理,但应该是延迟加载的所有属性都为NULL。

非常感谢! :)

回答

0

你有关于Entity1表中的任何子记录关系?如果不是的话,你会得到一个空集合而不是空集合。

+0

嗨乔治,我不知道如果我理解正确。在EDMX中,我将关系定义为一对多。属性的名称和导航属性(在EDMX中)是相同的。 – IoChaos 2012-02-14 16:36:33

+0

嗨,惰性加载的属性Entities1(假设是一个列表)将返回一个空对象,而不是一个空的列表,如果没有父实体的子记录(forEntity)。 – 2012-02-14 16:43:29

+0

对不起乔治,好点。不幸的是,有孩子的记录。谢谢! (实体出现在EDMX中) – IoChaos 2012-02-14 17:29:37