分享方式:


作法:指定並行例外狀況的擲回時機

在 LINQ to SQL 中,當物件由於開放式同步存取衝突而未更新時,就會擲回 ChangeConflictException 例外狀況。 如需詳細資訊,請參閱開放式同步存取:概觀

將變更提交至資料庫之前,您可以指定何時應擲出並行例外狀況:

  • 在第一次失敗時擲出例外狀況 (FailOnFirstConflict)。

  • 完成所有更新嘗試、累積所有失敗,並且在例外狀況中報告所累積的失敗 (ContinueOnConflict)。

擲出後,ChangeConflictException 例外狀況會提供 ChangeConflictCollection 集合的存取權。 此集合會提供每個衝突的詳細資訊 (對應至失敗的單一更新嘗試),其中包含 MemberConflicts 集合的存取權。 每個成員衝突都會對應至未通過並行存取檢查之更新中的單一成員。

範例

下列程式碼會顯示有兩個值的範例。

Northwnd db = new Northwnd("...");

// Create, update, delete code.

db.SubmitChanges(ConflictMode.FailOnFirstConflict);
// or
db.SubmitChanges(ConflictMode.ContinueOnConflict);
Dim db As New Northwnd("...")

' Create, update, delete code.

db.SubmitChanges(ConflictMode.FailOnFirstConflict)
' or
db.SubmitChanges(ConflictMode.ContinueOnConflict)

另請參閱