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