如何:指定并发异常的引发时间 (LINQ to SQL)
在 LINQ to SQL 中,当因出现开放式并发冲突而导致对象不能更新时,会引发 ChangeConflictException 异常。 有关更多信息,请参见 开放式并发概述 (LINQ to SQL)。
在向数据库提交您所做的更改前,您可以指定应何时引发并发异常:
第一次失败时引发异常 (FailOnFirstConflict)。
完成所有更新尝试,积累所有失败,然后在异常中报告积累的失败 (ContinueOnConflict)。
引发 ChangeConflictException 异常时,该异常会提供对 ChangeConflictCollection 集合的访问。 此集合提供了有关每个冲突(映射到单个失败的更新尝试)的详细信息,包括对 MemberConflicts 集合的访问。 每个成员冲突映射到未通过并发检查的更新中的单个成员。
示例
下面的代码显示了这两个值的示例。
Dim db As New Northwnd("...")
' Create, update, delete code.
db.SubmitChanges(ConflictMode.FailOnFirstConflict)
' or
db.SubmitChanges(ConflictMode.ContinueOnConflict)
Northwnd db = new Northwnd("...");
// Create, update, delete code.
db.SubmitChanges(ConflictMode.FailOnFirstConflict);
// or
db.SubmitChanges(ConflictMode.ContinueOnConflict);