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); } }
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); } }