using System; using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using xDataService.Db; using xModels.Base; namespace xDataService.Interfaces { /// /// Provide Unit Of Works Design Pattern for Db Transactions ... /// Only Used on EFCore ... /// /// public interface IXUnitOfWorks : IDisposable where TDbContext : XDbContext { TDbContext DbContext { get; } DbSet GetDbSet () where T : XBaseEntity; int SaveChanges (); Task SaveChangesAsync ( CancellationToken cancellationToken = default ); } }