c# - Linq to Sql 中的 ChangeConflictException

标签 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()

我如何判断是哪一列导致了异常?

谢谢。

最佳答案

参见 How to: Retrieve Member Conflict Information (LINQ to SQL)如果您只想编写代码示例。

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

关于c# - Linq to Sql 中的 ChangeConflictException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5902559/

相关文章:

c# - 通过泛型类型参数访问属性

c# - 一般执法

c# - @Html.HiddenFor 导致 HttpPost 中为 null

c# - 复选框绑定(bind) WPF

c# - 构造函数参数枚举和魔术字符串

c# - Linq 查询返回 true 或 false

c# - linq to sql递归查询

database - linq执行命令

c# - 如何在C#中使用多线程进行批处理

c# - 托管 C++ 和 C# 中的等效代码(VB6 中的事件)