我有一個簡單的父 - 子情境,父母可以有多個孩子。用戶可以通過從列表框中選擇或取消選擇來更新孩子的列表。我嘗試使用類似下面的代碼更新子列表,但我得到的SQLException:使用LINQ to SQL管理子列表
違反PRIMARY KEY約束 「PK_Child_1」的。不能在對象'dbo.Child'中插入重複的 鍵。
看來,LINQ插入新的孩子之前刪除現有的。我確信有一個簡單的模式來處理這個,但我很難過。
context.DeleteAllOnSubmit(parent.Children);
foreach (string childname in listBox1.SelectedItems) {
parent.Children.Add(new Child(parentkey, childname));
}
context.SubmitChanges();
每個父項都有一個唯一鍵(GUID),並且所有父列和子列都不可爲空。子表是一個帶有父鍵和varchar值的簡單兩列表,其中一個複合主鍵由兩列組成。
謝謝
它是實體框架對嗎? – 2012-10-26 07:58:33