共用方式為


HOW TO:指定何時擲回並行例外狀況 (LINQ to SQL)

在 LINQ to SQL 中,因為開放式並行存取 (Optimistic Concurrency) 衝突而未更新物件時,會擲回 ChangeConflictException 例外狀況 (Exception)。 如需詳細資訊,請參閱開放式並行存取概觀 (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);

請參閱

其他資源

HOW TO:管理變更衝突 (LINQ to SQL)

進行和提交資料變更 (LINQ to SQL)