RelationalDatabaseCreator Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Provádí vytváření databází a schémat a další související operace.
Tento typ obvykle používají poskytovatelé databáze (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
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class RelationalDatabaseCreator : 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
[<System.Runtime.CompilerServices.Nullable(0)>]
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
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
- Atributy
- 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 registrovaných v jakékoli době života. Implementace nemusí být bezpečná pro přístup z více vláken.
Další informace a příklady najdete v tématu Implementace poskytovatelů databází a rozšíření .
Konstruktory
| Název | Description |
|---|---|
| RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory) |
Inicializuje novou instanci RelationalDatabaseCreator třídy. |
| RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor) |
Zastaralé.
Inicializuje novou instanci RelationalDatabaseCreator třídy. |
| RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies) |
Inicializuje novou instanci RelationalDatabaseCreator třídy. |
Vlastnosti
| Název | Description |
|---|---|
| Connection |
Získá připojení pro databázi. |
| Dependencies |
Závislosti specifické pro relačního zprostředkovatele pro tuto službu. |
| ExecutionStrategyFactory |
Získá použité IExecutionStrategyFactory . |
| MigrationCommandExecutor |
Získá použité IMigrationCommandExecutor . |
| Model |
Získá model pro kontext, se kterým se tento tvůrce používá. |
Metody
| Název | Description |
|---|---|
| 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 kontext existuje. Pokud existuje, není provedena žádná akce. Pokud neexistuje, databáze a všechna její schémata se vytvoří. Pokud databáze existuje, nemusíte se snažit zajistit, aby byla kompatibilní s modelem pro tento kontext. |
| EnsureCreatedAsync(CancellationToken) |
Asynchronně zajišťuje, že databáze pro kontext existuje. Pokud existuje, není provedena žádná akce. Pokud neexistuje, databáze a všechna její schémata se vytvoří. Pokud databáze existuje, nemusíte se snažit 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, databáze se odstraní. Upozornění: Celá databáze je odstraněna a není nutné odebrat pouze databázové objekty používané modelem pro tento kontext. |
| EnsureDeletedAsync(CancellationToken) |
Asynchronně zajišťuje, že databáze pro kontext neexistuje. Pokud neexistuje, neprovede se žádná akce. Pokud existuje, databáze se odstraní. Upozornění: Celá databáze je odstraněna a není nutné odebrat pouze databázové objekty používané modelem pro tento kontext. |
| Exists() |
Určuje, zda fyzická databáze existuje. Není proveden žádný pokus o určení, zda databáze obsahuje schéma pro aktuální model. |
| ExistsAsync(CancellationToken) |
Asynchronně určuje, zda fyzická databáze existuje. Není proveden žádný pokus o určení, zda 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í, zda 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í, zda tabulky patří do aktuálního modelu nebo ne. |
Explicitní implementace rozhraní
| Název | Description |
|---|---|
| IServiceInjectionSite.InjectServices(IServiceProvider) |
Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určeno k použití přímo z kódu. Toto rozhraní API se může v budoucích verzích změnit nebo odebrat. |