我在尝试创建实体时遇到问题,并将其关联属性设置为与另一个实体的0..1关系
关联的两端都是0..1
这是我尝试做的事情
var entityA = new EntityA();
var entityB = new EntityB();
entityA.associatedEntity = entityB;
_context.SaveChanges();
它工作正常,两个实体都被保存但是当我检索entityA时,我将其associatedEntity属性设置为null
为什么?它发生在我身上只有0..1到0..1的关系。
答案 0 :(得分:0)
是否为您的ObjectContext启用了延迟加载?如果不是,则必须显式加载相关实体。如果您正在使用POCO或代码优先,则可能还存在配置问题,这会导致EF无法创建正确的代理类型,该类型在您访问associatedEntity
属性后执行延迟加载。
您可以在上下文的Include(string)
对象之一上使用ObjectSet
方法在EF中急切加载相关实体,例如:
context.EntityASet.Include("associatedEntity").Single(e => e.Id == 10);
答案 1 :(得分:-1)
您可以使用EF 4.1 / 2轻松实现与实体类属性top属性的简单关系。 欲获得更多信息: 的 using features of EF 4.1/2 强>