【发布时间】:2009-09-15 06:33:08
【问题描述】:
我有一个简单的亲子情况,父母可以有多个孩子。用户可以通过从列表框中选择或取消选择来随意更新子列表。我尝试使用如下代码更新子列表,但出现 SqlException:
违反 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 值,复合主键由两列组成。
谢谢
【问题讨论】:
-
是实体框架吧?
标签: linq-to-sql