2
我使用DB第一种方法,EF 4.1与DbContext POCO代码gen。多对多插入失败 - 实体框架4.1 DbContext
我的数据库有许多一对多的关系如下图所示:
员工
雇员
EmployeeName
帐户
ACCOUNTID
帐户名
EmployeeAccount
雇员
ACCOUNTID
当我试图插入一个新员工,并为其指定一个预先存在的帐户出现问题,所以我基本上这样做如下:
Employee emp = new Employee();
emp.EmployeeName = "Test";
emp.Accounts.Add(MethodThatLooksUpAccountByName("SomeAccountName"));
context.Employees.Add(emp);
context.SaveChanges();
正在执行(不正确)的SQL,正试图插入一个新的[Account]记录,并且这在违反约束时失败。当然,它不应该插入一个新的[Account]记录,它应该只在插入[Employee]后插入一个新的[EmployeeAccount]记录。
有什么建议吗?谢谢。
是的,它是分离的,因为我处理方法中的上下文。尽管Attach()方法在实体集合本身上,但不在上下文中,您的解决方案仍可正常工作。谢谢,不知道我是如何错过这个的。 – EkoostikMartin
请随时编辑,我不记得确切的语法。 –