using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CAPI.Custom.Data.Repositories { public abstract class ReadOnlyRepository : IDisposable where TContext : DbContext, new() where TEntity : class { protected TContext db = new TContext(); public virtual IQueryable Entities => db.Set(); public virtual TEntity Find(object recId) => db.Set().Find(recId); public virtual void Dispose() { db.SaveChanges(); Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if (disposing) { if (db != null) { db.Dispose(); db = null; } } } } }