我是EF的新手,我遇到过Entity没有按照我的预期行事的情况.我很感激帮助理解它是EF中的错误还是我理解中的"错误".
我在帖子的末尾包含了所有代码; 它应该在安装了Entity 6的测试项目中编译和运行.
这是情况.
我正在使用Code-First.
我有两个多对一关系的实体.他们来了:
public class OneSideEntity
{
public int OneSideEntityId { get; set; }
public string Name { get; set; }
public virtual List<ManySideEntity> MyManySideEntities { get; set; }
}
public class ManySideEntity
{
public int ManySideEntityId { get; set; }
public string Name { get; set; }
public virtual OneSideEntity MyOneSideEntity { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在假设我创建并保存一个ManySideEntity变量many ,在我执行之后处理上下文context.SaveChanges().然后我创建并保存a OneSideEntity通过对MyOneSideEntity属性执行"set" many并保存,处理上下文后跟.这很好用; 将新OneSideEntity实例添加到数据库中,并将许多外键正确更新为OneSideEntity实例主键的值.
这是它开始变得有趣的地方.如果我现在尝试 …