protected virtual void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { // free other managed objects that implement IDisposable only _repository.Dispose(); } // release any unmanaged objects set the object references to null _repository = null; _disposed = true; }