using AyCode.Database.DbContexts; namespace AyCode.Database.DataLayers; public interface IAcDalBase //: IDisposable { public string Name { get; } } public interface IAcDalBase : IAcDalBase where TDbContext : AcDbContextBase { public bool AutoCloseSession { get; set; } /// /// Do not use it! Use Session or Transaction... - J. /// public TDbContext Context { get; } public Mutex MutextLock { get; } public TDbContext CreateDbContext(); public void CloseDbContext(ref TDbContext? ctx); }