//
// Copyright (c) alveus.dev. All rights reserved. Licensed under the MIT License.
//
using System.Data;
namespace Astral.Core.Infrastructure;
///
/// Database transaction provider.
///
public interface ITransactionProvider
{
///
/// Begin a new transaction.
///
/// One of .
/// Instance of .
IDbTransaction BeginTransaction(IsolationLevel isolationLevel = IsolationLevel.Unspecified);
///
/// Begin a new transaction.
///
/// One of .
/// Instance of .
Task BeginTransactionAsync(IsolationLevel isolationLevel = IsolationLevel.Unspecified);
}