Example #1
0
        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);
        }
Example #2
0
 public void ReleaseDbManager(DbManagerContext context)
 {
     context.InUse = false;
 }