private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { options?.Dispose(); Session?.Dispose(); } model = null; disposedValue = true; } }