Condividi tramite


IRelationalDatabaseCreator Interfaccia

Definizione

Esegue la creazione di database/schema e altre operazioni correlate.

Questo tipo viene in genere usato dai provider di database (e altre estensioni). In genere non viene usato nel codice dell'applicazione.

public interface IRelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator
type IRelationalDatabaseCreator = interface
    interface IDatabaseCreator
Public Interface IRelationalDatabaseCreator
Implements IDatabaseCreator
Derivato
Implementazioni

Commenti

La durata del servizio è Scoped. Ciò significa che ogni DbContext istanza userà la propria istanza di questo servizio. L'implementazione può dipendere da altri servizi registrati con qualsiasi durata. L'implementazione non deve essere thread-safe.

Per altre informazioni ed esempi, vedere Implementazione di provider di database e estensioni .

Metodi

CanConnect()

Determina se il database è disponibile e può essere connesso.

(Ereditato da IDatabaseCreator)
CanConnectAsync(CancellationToken)

Determina se il database è disponibile e può essere connesso.

(Ereditato da IDatabaseCreator)
Create()

Crea il database fisico. Non tenta di popolarlo con qualsiasi schema.

CreateAsync(CancellationToken)

Crea in modo asincrono il database fisico. Non tenta di popolarlo con qualsiasi schema.

CreateTables()

Crea tutte le tabelle per il modello corrente nel database. Non viene eseguito alcun tentativo di aggiornare in modo incrementale lo schema. Si presuppone che nessuna delle tabelle esista nel database.

CreateTablesAsync(CancellationToken)

Crea in modo asincrono tutte le tabelle per il modello corrente nel database. Non viene eseguito alcun tentativo di aggiornare in modo incrementale lo schema. Si presuppone che nessuna delle tabelle esista nel database.

Delete()

Elimina il database fisico.

DeleteAsync(CancellationToken)

Elimina in modo asincrono il database fisico.

EnsureCreated()

Assicura che il database per il contesto esista. Se esiste, non viene eseguita alcuna azione. Se non esiste, il database e tutti i relativi schemi vengono creati. Se il database esiste, non viene effettuato alcun sforzo per assicurarsi che sia compatibile con il modello per questo contesto.

(Ereditato da IDatabaseCreator)
EnsureCreatedAsync(CancellationToken)

Assicura in modo asincrono che il database per il contesto esista. Se esiste, non viene eseguita alcuna azione. Se non esiste, il database e tutti i relativi schemi vengono creati. Se il database esiste, non viene effettuato alcun sforzo per assicurarsi che sia compatibile con il modello per questo contesto.

(Ereditato da IDatabaseCreator)
EnsureDeleted()

Assicura che il database per il contesto non esista. Se non esiste, non viene eseguita alcuna azione. Se esiste, il database viene eliminato.

Avviso: l'intero database viene eliminato senza alcun sforzo per rimuovere solo gli oggetti di database usati dal modello per questo contesto.

(Ereditato da IDatabaseCreator)
EnsureDeletedAsync(CancellationToken)

Assicura in modo asincrono che il database per il contesto non esista. Se non esiste, non viene eseguita alcuna azione. Se esiste, il database viene eliminato.

Avviso: l'intero database viene eliminato senza alcun sforzo per rimuovere solo gli oggetti di database usati dal modello per questo contesto.

(Ereditato da IDatabaseCreator)
Exists()

Determina se il database fisico esiste. Non viene eseguito alcun tentativo di determinare se il database contiene lo schema per il modello corrente.

ExistsAsync(CancellationToken)

Determina in modo asincrono se il database fisico esiste. Non viene eseguito alcun tentativo di determinare se il database contiene lo schema per il modello corrente.

GenerateCreateScript()

Genera uno script per creare tutte le tabelle per il modello corrente.

HasTables()

Determina se il database contiene tabelle. Non viene eseguito alcun tentativo di determinare se le tabelle appartengono al modello corrente o meno.

HasTablesAsync(CancellationToken)

Determina in modo asincrono se il database contiene tabelle. Non viene eseguito alcun tentativo di determinare se le tabelle appartengono al modello corrente o meno.

Si applica a