HistoryRepository クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
EF Core 移行に関するメタデータ (適用されている移行など) を追跡する '__EFMigrationsHistory' テーブルにアクセスするために使用されるリポジトリの基本クラス。
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
- 継承
-
HistoryRepository
- 属性
- 実装
注釈
データベース プロバイダーは、プロバイダー固有の機能を実装するために、このクラスから継承する必要があります。
サービスの有効期間は Scoped。 これは、各 DbContext インスタンスがこのサービスの独自のインスタンスを使用することを意味します。 実装は、任意の有効期間で登録されている他のサービスに依存する場合があります。 実装はスレッド セーフである必要はありません。
詳細と例については、「 データベースの移行 」を参照してください。
コンストラクター
| Name | 説明 |
|---|---|
| HistoryRepository(HistoryRepositoryDependencies) |
このクラスの新しいインスタンスを初期化します。 |
| HistoryRepository(IDatabaseCreator, IRawSqlCommandBuilder, IRelationalConnection, IDbContextOptions, IMigrationsModelDiffer, IMigrationsSqlGenerator, IRelationalAnnotationProvider, ISqlGenerationHelper) |
この API はEntity Framework Core インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 この API は、将来のリリースで変更または削除される可能性があります。 |
フィールド
| Name | 説明 |
|---|---|
| DefaultTableName |
移行履歴テーブルの既定の名前。 |
プロパティ
| Name | 説明 |
|---|---|
| Dependencies |
このサービスのリレーショナル プロバイダー固有の依存関係。 |
| ExistsSql |
データベース プロバイダーによってオーバーライドされ、履歴テーブルの存在をテストする SQL を生成します。 |
| GetAppliedMigrationsSql |
適用された移行を照会する SQL を生成します。 |
| LockReleaseBehavior |
これは、パブリック API と同じ互換性標準の対象ではなく、Entity Framework Core インフラストラクチャをサポートする内部 API です。 これは、任意のリリースで予告なしに変更または削除される可能性があります。 コード内で直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しいEntity Framework Core リリースに更新するときにアプリケーションのエラーが発生する可能性があることを認識してください。 |
| MigrationIdColumnName |
移行識別子を保持する列の名前。 |
| ProductVersionColumnName |
Entity Framework 製品バージョンを含む列の名前。 |
| SqlGenerationHelper |
SQL を生成するためのヘルパー クラス。 |
| TableName |
履歴テーブル名。 |
| TableSchema |
履歴テーブルを含むスキーマ。既定のスキーマを使用する必要がある場合は |
メソッド
| Name | 説明 |
|---|---|
| AcquireDatabaseLock() |
データベースの排他ロックを取得します。 |
| AcquireDatabaseLockAsync(CancellationToken) |
データベースの排他ロックを取得します。 |
| ConfigureTable(EntityTypeBuilder<HistoryRow>) |
履歴テーブルにマップされるエンティティ型を構成します。 |
| Create() |
履歴テーブルを作成します。 |
| CreateAsync(CancellationToken) |
履歴テーブルを作成します。 |
| EnsureModel() |
これは、パブリック API と同じ互換性標準の対象ではなく、Entity Framework Core インフラストラクチャをサポートする内部 API です。 これは、任意のリリースで予告なしに変更または削除される可能性があります。 コード内で直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しいEntity Framework Core リリースに更新するときにアプリケーションのエラーが発生する可能性があることを認識してください。 |
| Exists() |
履歴テーブルが存在するかどうかを確認します。 |
| ExistsAsync(CancellationToken) |
履歴テーブルが存在するかどうかを確認します。 |
| GetAppliedMigrations() |
適用されたすべての移行の履歴テーブルを照会します。 |
| GetAppliedMigrationsAsync(CancellationToken) |
適用されたすべての移行の履歴テーブルを照会します。 |
| GetBeginIfExistsScript(String) |
特定の識別子を持つ移行が履歴テーブルに既に存在する場合にのみ、SQL ブロックを |
| GetBeginIfNotExistsScript(String) |
特定の識別子を持つ移行がまだ履歴テーブルに存在しない場合にのみ、SQL ブロックを |
| GetCreateCommands() |
履歴テーブルを作成する移行コマンドを返します。 |
| GetCreateIfNotExistsScript() |
データベース プロバイダーによってオーバーライドされ、まだ存在しない場合にのみ履歴テーブルを作成する SQL スクリプトを生成します。 |
| GetCreateScript() |
履歴テーブルを作成する SQL スクリプトを生成します。 |
| GetDeleteScript(String) |
履歴テーブルから行を削除する SQL スクリプトを生成します。 |
| GetEndIfScript() |
SQL ブロックを |
| GetInsertScript(HistoryRow) |
履歴テーブルに行を挿入する SQL スクリプトを生成します。 |
| InterpretExistsResult(Object) |
ExistsSqlの実行結果を解釈します。 |
明示的なインターフェイスの実装
| Name | 説明 |
|---|---|
| IHistoryRepository.CreateIfNotExists() |
EF Core 移行に関するメタデータ (適用されている移行など) を追跡する '__EFMigrationsHistory' テーブルにアクセスするために使用されるリポジトリの基本クラス。 |
| IHistoryRepository.CreateIfNotExistsAsync(CancellationToken) |
EF Core 移行に関するメタデータ (適用されている移行など) を追跡する '__EFMigrationsHistory' テーブルにアクセスするために使用されるリポジトリの基本クラス。 |