我有一个简单的父 - 子情境,父母可以有多个孩子。用户可以通过从列表框中选择或取消选择来更新孩子的列表。我尝试使用类似下面的代码更新子列表,但我得到的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