مخزن جامع کدها و الگوهای توسعه

اسنیپت‌ها، ترفندها و کدهای کاربردی

مجموعه‌ای منتخب از ساختارهای کد، پیکربندی‌های بهینه، پیش‌نیازها و کدهای همراه برای زبان‌ها و فریم‌ورک‌های مختلف.

۱ کد انتخاب شده
دسته‌بندی: انتیتی فریم‌ورک (EF Core) Transaction
پاکسازی همه فیلترها
انتیتی فریم‌ورک (EF Core) CSHARP 1405/07/04

Transaction

Transaction یک واحد کاری (Unit of Work) هست که چند عملیات دیتابیس رو به‌صورت all or nothing اجرا می‌کنه. یعنی یا همه‌ی عملیات‌ها با موفقیت commit میشن، یا اگه یکی fail بشه، همه rollback میشن.

csharp
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;
}