延迟加载在EF4中不起作用(关系始终为NULL)

时间:2012-02-14 16:28:32

标签: c# entity-framework-4 poco

我知道这个问题可能非常基本。因此,我一直在检查项目周围的所有环境。

我正在使用一堆POCO实体,从数据库中读取。在创建上下文时,我正在启用Proxies和LazyLoading:

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。

非常感谢! :)

1 个答案:

答案 0 :(得分:0)

您的关系中的Entity1表中是否有任何子记录?如果不是,你将获得一个空集合而不是空集合。