public void Dispose() { if (_disposed) { return; } if (!_nested) { if (!_completed) { SaveChanges(); } DbContexts.Dispose(); } RemoveAmbientScope(); if (_parentScope != null) { if (!_parentScope._disposed) { SetAmbientScope(_parentScope); } } _disposed = true; }