如何在不处理DataContext的情况下从System.Data.Linq.DuplicateKeyException中恢复?

时间:2009-10-28 11:01:34

标签: .net linq-to-sql

按照设计我不时会期待一个DuplicateKeyExeception。 是否可以在不重新创建Datacontext的情况下从这种情况中恢复?

理想情况下,我想删除所有具有重复密钥的记录。

1 个答案:

答案 0 :(得分:0)

This看起来很适合更新冲突。但是你有插入冲突......

Customer customer = new Customer(){Name="Bob"}
myDC.Customers.InsertOnSubmit(customer);
try
{
  SubmitChanges();
}
catch(DuplicateKeyException)
{
  //throw away my old Bob and get me the database's version.
  myDC.Refresh(RefreshMode.OverwriteCurrentValues, customer);
}