public DbManagerContext GetDbManager() { if (_contexts == null) { RootDbManager.OnClosing += OnRootClosing; _contexts = new List <DbManagerContext>(1); } foreach (var context in _contexts) { if (!context.InUse) { context.InUse = true; return(context); } } var ctx = new DbManagerContext { DbManager = RootDbManager.Clone(), InUse = true }; _contexts.Add(ctx); return(ctx); }
public void ReleaseDbManager(DbManagerContext context) { context.InUse = false; }