並發衝突:使用者 A 讀取實體 → 使用者 B 修改並儲存 → 使用者 A 儲存覆蓋 B 的修改。EF 支援樂觀並發控制。
[Timestamp] 屬性 (byte[]),資料庫對應 rowversionDbUpdateConcurrencyExceptiontry { context.SaveChanges(); }
catch (DbUpdateConcurrencyException ex) {
var entry = ex.Entries.Single();
var clientValues = (Department)entry.Entity;
var databaseEntry = entry.GetDatabaseValues();
// 比較 clientValues 與 databaseEntry,決定保留/合併/拋錯
}
樂觀鎖不鎖定資源、高併發效能佳,適合 Web 應用常見「讀多寫少」場景。