我有關於在asp.net應用程序中管理事務的問題。在asp.net mvc應用程序中的實體框架和事務
例如我有計劃假期的申請。
控制器具有批准休假的窗體。
一個用戶 - 點擊保存並批准度假----要度假的員工 - 1天 第二個用戶 - clik保存並批准度假和?
//pseudocode
public void ApproveVacation(int vacationId)
{
//pull vacationdata from db
var vacation = _dbContext.Vacations.FirstOrDefault(x => x.Id == vacationId);
if (vacation != null && vacation.State != approved) //
{
using (TransactionScope scope = new TransactionScope())
{
vacation.state = approved;
vacation.Employee.Days = -1;
_dbContext.saveChanges();
scope.complete();
}
}
}
而問題很簡單,交易是否足夠用於這種情況,或者我必須使用一種協調技術?
謝謝
編輯:上下文創建一個請求。
那麼,我嘗試處理情況,當兩個或多個用戶點擊表單按鈕併發送請求批准度假(例如)。而且我只需要在第一個請求中更改vactaion狀態一次 – Mennion
因此您需要併發機制 - 例如使用時間戳。 –
好的,謝謝你的回答:) – Mennion