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



我知道这个问题可能是非常基础的。因此,我一直在检查项目的所有情况。

我正在使用一堆POCO实体,从数据库中读取。创建上下文时,我启用代理和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。

非常感谢!:)

您的关系在Entity1表中有任何子记录吗?如果没有,您将得到一个null集合,而不是一个空集合。

最新更新