using Microsoft.AspNetCore.Mvc; using SeniorAssistant.Data; namespace SeniorAssistant.Controllers { public abstract class BaseController : Controller { IDataContextFactory dbFactory; SeniorDataContext db; protected T TryResolve() => (T)HttpContext.RequestServices.GetService(typeof(T)); protected IDataContextFactory DbFactory => dbFactory ?? (dbFactory = TryResolve>()); protected SeniorDataContext Db => db ?? (db = DbFactory.Create()); protected override void Dispose(bool disposing) { db?.Dispose(); base.Dispose(disposing); } } }