HistoryRepository Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 |
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à |
| GetBeginIfNotExistsScript(String) |
Sottoposto a override dai provider di database per generare uno script SQL che comporterà |
| 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 |
| 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. |