Sdílet prostřednictvím


RelationalDatabaseCreator Třída

Definice

Provádí vytvoření databáze nebo schématu a další související operace.

Tento typ obvykle používají poskytovatelé databází (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite, Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreatorWithCanConnect, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
    interface IServiceInjectionSite
type RelationalDatabaseCreator = class
    interface IRelationalDatabaseCreator
    interface IDatabaseCreator
    interface IDatabaseCreatorWithCanConnect
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator, IServiceInjectionSite
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreatorWithCanConnect, IRelationalDatabaseCreator
Dědičnost
RelationalDatabaseCreator
Implementuje
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect

Poznámky

Životnost služby je Scoped. To znamená, že každá DbContext instance bude používat vlastní instanci této služby. Implementace může záviset na jiných službách zaregistrovaných s libovolnou životností. Implementace nemusí být bezpečná pro přístup z více vláken.

Další informace a příklady najdete v tématu Implementace zprostředkovatelů a rozšíření databáze .

Konstruktory

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor)
Zastaralé.

Inicializuje novou instanci RelationalDatabaseCreator třídy .

RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory)

Inicializuje novou instanci RelationalDatabaseCreator třídy .

RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies)

Inicializuje novou instanci RelationalDatabaseCreator třídy .

Vlastnosti

Connection

Získá připojení pro databázi.

Dependencies

Závislosti relačního zprostředkovatele pro tuto službu.

ExecutionStrategyFactory

Získá k IExecutionStrategyFactory použití.

MigrationCommandExecutor

Získá k IMigrationCommandExecutor použití.

Model

Získá model pro kontext, se kterým se tento tvůrce používá.

Metody

CanConnect()

Určuje, zda je databáze k dispozici a může být připojena.

CanConnectAsync(CancellationToken)

Určuje, zda je databáze k dispozici a může být připojena.

Create()

Vytvoří fyzickou databázi. Nepokoušá se ho naplnit žádným schématem.

CreateAsync(CancellationToken)

Asynchronně vytvoří fyzickou databázi. Nepokoušá se ho naplnit žádným schématem.

CreateTables()

Vytvoří všechny tabulky pro aktuální model v databázi. Není proveden žádný pokus o přírůstkovou aktualizaci schématu. Předpokládá se, že žádná z tabulek v databázi neexistuje.

CreateTablesAsync(CancellationToken)

Asynchronně vytvoří všechny tabulky pro aktuální model v databázi. Není proveden žádný pokus o přírůstkovou aktualizaci schématu. Předpokládá se, že žádná z tabulek v databázi neexistuje.

Delete()

Odstraní fyzickou databázi.

DeleteAsync(CancellationToken)

Asynchronně odstraní fyzickou databázi.

EnsureCreated()

Zajišťuje, že databáze pro daný kontext existuje. Pokud existuje, neprovedou se žádné akce. Pokud neexistuje, vytvoří se databáze a veškeré její schéma. Pokud databáze existuje, není nutné zajistit, aby byla kompatibilní s modelem pro tento kontext.

EnsureCreatedAsync(CancellationToken)

Asynchronně zajišťuje, že databáze pro kontext existuje. Pokud existuje, neprovedou se žádné akce. Pokud neexistuje, vytvoří se databáze a veškeré její schéma. Pokud databáze existuje, není nutné zajistit, aby byla kompatibilní s modelem pro tento kontext.

EnsureDeleted()

Zajišťuje, že databáze pro kontext neexistuje. Pokud neexistuje, neprovede se žádná akce. Pokud existuje, je databáze odstraněna.

Upozornění: Odstraní se celá databáze a není vynaloženo úsilí na odebrání pouze databázových objektů, které model používá pro tento kontext.

EnsureDeletedAsync(CancellationToken)

Asynchronně zajišťuje, že databáze pro kontext neexistuje. Pokud neexistuje, neprovede se žádná akce. Pokud existuje, je databáze odstraněna.

Upozornění: Odstraní se celá databáze a není vynaloženo úsilí na odebrání pouze databázových objektů, které model používá pro tento kontext.

Exists()

Určuje, zda existuje fyzická databáze. Není proveden žádný pokus o určení, jestli databáze obsahuje schéma pro aktuální model.

ExistsAsync(CancellationToken)

Asynchronně určuje, zda existuje fyzická databáze. Není proveden žádný pokus o určení, jestli databáze obsahuje schéma pro aktuální model.

GenerateCreateScript()

Vygeneruje skript pro vytvoření všech tabulek pro aktuální model.

GetCreateTablesCommands()

Získá příkazy, které vytvoří všechny tabulky z modelu.

GetCreateTablesCommands(MigrationsSqlGenerationOptions)

Získá příkazy, které vytvoří všechny tabulky z modelu.

HasTables()

Určuje, zda databáze obsahuje nějaké tabulky. Není proveden žádný pokus o určení, jestli tabulky patří do aktuálního modelu nebo ne.

HasTablesAsync(CancellationToken)

Asynchronně určuje, zda databáze obsahuje nějaké tabulky. Není proveden žádný pokus o určení, jestli tabulky patří do aktuálního modelu nebo ne.

Explicitní implementace rozhraní

IServiceInjectionSite.InjectServices(IServiceProvider)

Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určené k použití přímo z vašeho kódu. Toto rozhraní API se může změnit nebo odebrat v budoucích verzích.

Platí pro