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);