我知道这听起来很荒谬,但我不断收到错误消息,告诉我在尝试删除数据库中的记录时无法插入重复键。我的代码非常基本
using (var scope = new TransactionScope())
{
this.DataSource.ParameterGroupEntries.DeleteAllOnSubmit(dataBaseParameterEntries);
this.DataSource.SubmitChanges();
this.DataSource.ParameterGroupEntries.InsertAllOnSubmit(localParameterEntries.ToArray());
this.DataSource.SubmitChanges();
scope.Complete();
}
但是在命令SubmitChanges()
之后的右侧DeleteAllOnSubmit(dataBaseEntries)
,我不断收到异常“无法在对象中插入重复键”。我尝试将其分解为两个单独的事务,甚至使用DeleteOnSubmit()
循环foreach
甚至删除插入语句。无论如何,我都会收到此错误。这真的难倒我,因为我没有插入任何记录,我正在删除它们。有什么建议吗?
更新: 删除给我带来麻烦的关键约束后似乎有效。但是由于我不是数据库的创建者,所以这并不是最理想的选择。