У меня есть вопрос об управлении транзакциями в приложении asp.net.
Например, у меня есть приложение для планирования отпусков.
Контроллер имеет форму для утверждения отпусков.
Одинпользователь - нажмите сохранить и подтвердить отпуск ---- сотрудник, который хочет отпуск - 1 день второй пользователь - нажмите сохранить и подтвердить отпуск и?
//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();
}
}
}
И вопрос прост, достаточно ли транзакции для этого сценария илиЯ должен использовать одну из техник конкуренции?
Спасибо
РЕДАКТИРОВАТЬ: Контекст создается один на запрос.