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
請隨時編輯,我不記得確切的語法。 –