Ejemplo n.º 1
0
 internal void Create(bool skipExistsCheck)
 {
     using (var clonedObjectContext = _internalContext.CreateObjectContextForDdlOps())
     {
         if (!skipExistsCheck &&
             _internalContext.DatabaseOperations.Exists(clonedObjectContext.ObjectContext))
         {
             throw Error.Database_DatabaseAlreadyExists(_internalContext.Connection.Database);
         }
         _internalContext.CreateDatabase(clonedObjectContext.ObjectContext);
     }
 }
Ejemplo n.º 2
0
        internal void Create(DatabaseExistenceState existenceState)
        {
            using (var clonedObjectContext = _internalContext.CreateObjectContextForDdlOps())
            {
                if (existenceState == DatabaseExistenceState.Unknown)
                {
                    if (_internalContext.DatabaseOperations.Exists(clonedObjectContext.ObjectContext))
                    {
                        var interceptionContext = new DbInterceptionContext();
                        interceptionContext = interceptionContext.WithDbContext(_internalContext.Owner);
                        interceptionContext = interceptionContext.WithObjectContext(clonedObjectContext.ObjectContext);

                        throw Error.Database_DatabaseAlreadyExists(
                                  DbInterception.Dispatch.Connection.GetDatabase(_internalContext.Connection, interceptionContext));
                    }
                    existenceState = DatabaseExistenceState.DoesNotExist;
                }

                _internalContext.CreateDatabase(clonedObjectContext.ObjectContext, existenceState);
            }
        }