我们如何处理LINQ to SQL中的并发错误?

时间:2010-03-30 09:16:52

标签: c# sql-server linq-to-sql

我们如何处理LINQ to SQL中的并发错误?

2 个答案:

答案 0 :(得分:1)

一种方法是在每列上设置模式,使其参与冲突检查。有三个选项:Always, Never & WhenChanged

有关详情,请查看herehere

另外一个选项是使用ConflictMode参数SubmitChangesConflictMode.ContinueOnConflict or ConflictMode.FailOnFirstConflict之一。如果将其设置为前者,则提交将在完成时抛出,但您将拥有收集失败的提交内容以供进一步处理...有关详细信息,请参阅this answer

答案 1 :(得分:1)

要处理并发冲突,应该使用updataion LINQ中的try和catch块来捕获“ChangeConflictException”。一旦得到异常,就可以通过changeConflicts集合循环来解决问题(KeepCurrentValues,OverwriteCurrentValues和KeepChanges)。如果我们检查现场级别的可靠性检查,那会更好。