Lingua

HistoryRepository Classe

Definizione

Classe di base per il repository usato per accedere alla tabella "__EFMigrationsHistory" che tiene traccia dei metadati sulle migrazioni di EF Core, ad esempio le migrazioni applicate.

public abstract class HistoryRepository : Microsoft.EntityFrameworkCore.Migrations.IHistoryRepository
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class HistoryRepository : Microsoft.EntityFrameworkCore.Migrations.IHistoryRepository
type HistoryRepository = class
    interface IHistoryRepository
[<System.Runtime.CompilerServices.Nullable(0)>]
type HistoryRepository = class
    interface IHistoryRepository
Public MustInherit Class HistoryRepository
Implements IHistoryRepository
Ereditarietà
HistoryRepository
Attributi
Implementazioni

Commenti

I provider di database devono ereditare da questa classe per implementare funzionalità specifiche del provider.

La durata del servizio è Scoped. Ciò significa che ogni DbContext istanza userà la propria istanza del 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 Migrazioni di database .

Costruttori

Nome Descrizione
HistoryRepository(HistoryRepositoryDependencies)

Inizializza una nuova istanza di questa classe.

HistoryRepository(IDatabaseCreator, IRawSqlCommandBuilder, IRelationalConnection, IDbContextOptions, IMigrationsModelDiffer, IMigrationsSqlGenerator, IRelationalAnnotationProvider, ISqlGenerationHelper)

Questa API supporta l'infrastruttura Entity Framework Core e non deve essere usata direttamente dal codice. Questa API può cambiare o essere rimossa nelle versioni future.

Campi

Nome Descrizione
DefaultTableName

Nome predefinito per la tabella della cronologia delle migrazioni.

Proprietà

Nome Descrizione
Dependencies

Dipendenze specifiche del provider relazionale per questo servizio.

ExistsSql

Sottoposto a override dai provider di database per generare SQL che verifica l'esistenza della tabella di cronologia.

GetAppliedMigrationsSql

Genera SQL per eseguire una query per le migrazioni applicate.

LockReleaseBehavior

Si tratta di un'API interna che supporta l'infrastruttura Entity Framework Core e non è soggetta agli stessi standard di compatibilità delle API pubbliche. Può essere modificato o rimosso senza preavviso in alcuna versione. È consigliabile usarlo direttamente nel codice con estrema cautela e sapere che questa operazione può causare errori dell'applicazione durante l'aggiornamento a una nuova versione Entity Framework Core.

MigrationIdColumnName

Nome della colonna che contiene l'identificatore di migrazione.

ProductVersionColumnName

Nome della colonna contenente la versione del prodotto Entity Framework.

SqlGenerationHelper

Classe helper per la generazione di SQL.

TableName

Nome della tabella di cronologia.

TableSchema

Schema che contiene la tabella di cronologia o null se deve essere utilizzato lo schema predefinito.

Metodi

Nome Descrizione
AcquireDatabaseLock()

Ottiene un blocco esclusivo nel database.

AcquireDatabaseLockAsync(CancellationToken)

Ottiene un blocco esclusivo nel database.

ConfigureTable(EntityTypeBuilder<HistoryRow>)

Configura il tipo di entità mappato alla tabella di cronologia.

Create()

Crea la tabella di cronologia.

CreateAsync(CancellationToken)

Crea la tabella di cronologia.

EnsureModel()

Si tratta di un'API interna che supporta l'infrastruttura Entity Framework Core e non è soggetta agli stessi standard di compatibilità delle API pubbliche. Può essere modificato o rimosso senza preavviso in alcuna versione. È consigliabile usarlo direttamente nel codice con estrema cautela e sapere che questa operazione può causare errori dell'applicazione durante l'aggiornamento a una nuova versione Entity Framework Core.

Exists()

Controlla se la tabella di cronologia esiste o meno.

ExistsAsync(CancellationToken)

Controlla se la tabella di cronologia esiste o meno.

GetAppliedMigrations()

Esegue una query sulla tabella di cronologia per tutte le migrazioni applicate.

GetAppliedMigrationsAsync(CancellationToken)

Esegue una query sulla tabella di cronologia per tutte le migrazioni applicate.

GetBeginIfExistsScript(String)

Sottoposto a override dai provider di database per generare uno script SQL che comporterà BEGIN un blocco di SQL se e solo se la migrazione con l'identificatore specificato esiste già nella tabella di cronologia.

GetBeginIfNotExistsScript(String)

Sottoposto a override dai provider di database per generare uno script SQL che comporterà BEGIN un blocco di SQL se e solo se la migrazione con l'identificatore specificato non esiste già nella tabella di cronologia.

GetCreateCommands()

Restituisce i comandi di migrazione che creeranno la tabella di cronologia.

GetCreateIfNotExistsScript()

Sottoposto a override da un provider di database per generare uno script SQL che creerà la tabella di cronologia se e solo se non esiste già.

GetCreateScript()

Genera uno script SQL che creerà la tabella di cronologia.

GetDeleteScript(String)

Genera uno script SQL per eliminare una riga dalla tabella di cronologia.

GetEndIfScript()

Sottoposto a override dai provider di database per generare uno script END SQL nel blocco SQL.

GetInsertScript(HistoryRow)

Genera uno script SQL per inserire una riga nella tabella di cronologia.

InterpretExistsResult(Object)

Interpreta il risultato dell'esecuzione ExistsSqldi .

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IHistoryRepository.CreateIfNotExists()

Classe di base per il repository usato per accedere alla tabella "__EFMigrationsHistory" che tiene traccia dei metadati sulle migrazioni di EF Core, ad esempio le migrazioni applicate.

IHistoryRepository.CreateIfNotExistsAsync(CancellationToken)

Classe di base per il repository usato per accedere alla tabella "__EFMigrationsHistory" che tiene traccia dei metadati sulle migrazioni di EF Core, ad esempio le migrazioni applicate.

Si applica a