Linq to Sql中的ChangeConflictException

时间:2011-05-05 18:37:38

标签: c# linq-to-sql

我收到“未找到或未更改行”。

System.Data.Linq.ChangeConflictException: Row not found or changed. at
System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode) at
System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
at System.Data.Linq.DataContext.SubmitChanges()

我如何判断哪个列导致异常?

谢谢。

1 个答案:

答案 0 :(得分:2)

如果您只想让代码成为代码示例,请参阅How to: Retrieve Member Conflict Information (LINQ to SQL)

默认情况下,Linq2Sql中的每个属性都包含在乐观并发检查中。您可以通过将Linq2Sql类中UpdateCheck属性的Column属性设置为Always(默认值),NeverWhenChanged来自定义此行为仅在并发检查中包含一个列,如果其值已更改。它在MSDN上有更详细的介绍:Optimistic Concurrency Overview (LINQ to SQL)