Transaction
Transaction یک واحد کاری (Unit of Work) هست که چند عملیات دیتابیس رو بهصورت all or nothing اجرا میکنه. یعنی یا همهی عملیاتها با موفقیت commit میشن، یا اگه یکی fail بشه، همه rollback میشن.
using var transaction = await _context.Database.BeginTransactionAsync();
try
{
_context.Wallets.Update(fromWallet);
await _context.SaveChangesAsync();
_context.Wallets.Update(toWallet);
await _context.SaveChangesAsync();
await transaction.CommitAsync();
}
catch
{
await transaction.RollbackAsync();
throw;
}