DbContextOptionsBuilder クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DbContextOptionsを構成するための簡単な API サーフェスを提供します。 通常、データベース (およびその他の拡張機能) は、コンテキストに使用するデータベース接続 (およびその他のオプション) を構成できる拡張メソッドをこのオブジェクトに定義します。
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
[System.Runtime.CompilerServices.Nullable(0)]
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
[<System.Runtime.CompilerServices.Nullable(0)>]
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
- 継承
-
DbContextOptionsBuilder
- 派生
- 属性
- 実装
注釈
DbContextOptionsBuilderを使用してコンテキストを構成するには、OnConfiguring(DbContextOptionsBuilder)をオーバーライドするか、外部でDbContextOptionsを作成してコンテキスト コンストラクターに渡します。
詳細と例については、 DbContextOptions の使用 を参照してください。
コンストラクター
| Name | 説明 |
|---|---|
| DbContextOptionsBuilder() |
オプションを設定せず、 DbContextOptionsBuilder クラスの新しいインスタンスを初期化します。 |
| DbContextOptionsBuilder(DbContextOptions) |
特定のDbContextOptionsをさらに構成するために、DbContextOptionsBuilder クラスの新しいインスタンスを初期化します。 |
プロパティ
| Name | 説明 |
|---|---|
| IsConfigured |
オプションが構成されているかどうかを示す値を取得します。 |
| Options |
構成されているオプションを取得します。 |
メソッド
| Name | 説明 |
|---|---|
| AddInterceptors(IEnumerable<IInterceptor>) |
コンテキスト IInterceptor 登録されているインスタンスにインスタンスを追加します。 |
| AddInterceptors(IInterceptor[]) |
コンテキスト IInterceptor 登録されているインスタンスにインスタンスを追加します。 |
| ConfigureLoggingCacheTime(TimeSpan) |
EF Core が特定の高パフォーマンス パスにログ構成をキャッシュする期間を構成します。 これにより、EF Core はコストの高いログ記録チェックをスキップしますが、実行時のログ記録の変更 (たとえば、新しい DiagnosticListener の登録はすぐに考慮されない可能性があります) を意味します。 |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Entity Framework によって生成される警告の実行時動作を構成します。 警告の種類ごとに既定の動作と動作を設定できます。 |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Entity Framework によって生成される警告の実行時動作を構成します。 警告の種類ごとに既定の動作と動作を設定できます。 |
| EnableDetailedErrors(Boolean) |
ストア クエリ結果の処理中に発生するデータ値の例外を処理するときに詳細なエラーを有効にします。 このようなエラーは、ほとんどの場合、エンティティ プロパティの構成ミスが原因で発生します。 たとえば、プロパティが 'int' 型に構成されているが、ストア内の基になるデータが実際には型 'string' の場合、実行時にデータ値の処理中に例外が生成されます。 このオプションが有効で、データ エラーが発生した場合、生成された例外には、エラーを生成した特定のエンティティ プロパティの詳細が含まれます。 |
| EnableSensitiveDataLogging() |
アプリケーション データを例外メッセージやログなどに含めることができます。これには、エンティティ インスタンスのプロパティに割り当てられた値、データベースに送信されるコマンドのパラメーター値、およびその他のデータを含めることができます。 このフラグは、このデータの機密性に基づいて適切なセキュリティ対策が実施されている場合にのみ有効にする必要があります。 |
| EnableSensitiveDataLogging(Boolean) |
アプリケーション データを例外メッセージやログなどに含めることができます。これには、エンティティ インスタンスのプロパティに割り当てられた値、データベースに送信されるコマンドのパラメーター値、およびその他のデータを含めることができます。 このフラグは、このデータの機密性に基づいて適切なセキュリティ対策が実施されている場合にのみ有効にする必要があります。 |
| EnableServiceProviderCaching(Boolean) |
内部サービス プロバイダーのキャッシュを有効または無効にします。 キャッシュを無効にするとパフォーマンスに大きな影響を与える可能性があり、テスト分離のために多数のサービス プロバイダーを構築するテスト シナリオでのみ使用する必要があります。 |
| EnableThreadSafetyChecks(Boolean) |
コンカレンシー検出を無効にします。これにより、 DbContext インスタンスの誤った同時使用の多くのケースが検出され、有益な例外がスローされます。 これによりパフォーマンスが若干向上しますが、 DbContext インスタンスが同時に使用される場合、動作は未定義になり、プログラムが予期しない方法で失敗する可能性があります。 |
| LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>) |
指定されたカスタム フィルター デリゲートによってフィルター処理されたイベントをログに記録します。 フィルターは、メッセージをログに記録するには true を返し、ログから除外するには false を返す必要があります。 |
| LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
指定されたアクションを使用して、指定したイベントをログに記録します。 たとえば、 |
| LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
指定されたアクションを使用して、指定されたカテゴリ内のすべてのイベントをログに記録します。 たとえば、 |
| LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
指定されたアクションを使用してログを記録します。 たとえば、 |
| LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
カスタム フィルター デリゲートでフィルター処理されたカスタム ロガー デリゲートにイベントをログに記録します。 フィルターは、メッセージをログに記録するには true を返し、ログから除外するには false を返す必要があります。 |
| ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
サービス コントラクトの特定の実装の Entity Framework の内部実装を別の実装に置き換えます。 |
| ReplaceService<TService,TImplementation>() |
サービス コントラクトのすべての内部 Entity Framework 実装を別の実装に置き換えます。 |
| UseApplicationServiceProvider(IServiceProvider) |
アプリケーション サービスの取得元となる IServiceProvider を設定します。 これは、'AddDbContext' または 'AddDbContextPool' を使用する場合に自動的に行われるので、このメソッドを呼び出す必要はほとんどありません。 |
| UseAsyncSeeding(Func<DbContext,Boolean,CancellationToken,Task>) |
EnsureCreatedAsync(CancellationToken)が呼び出された後、または移行が非同期に適用された後に実行されるようにシード メソッドを構成します。 ストアへの変更が実行されなかった場合でも呼び出されます。 |
| UseInternalServiceProvider(IServiceProvider) |
コンテキストがすべてのサービスを解決する必要がある IServiceProvider を設定します。 何も指定されていない場合、EF はサービス プロバイダーを作成および管理します。 |
| UseLoggerFactory(ILoggerFactory) |
このコンテキストによって実行されるログ記録用のILogger インスタンスの作成に使用するILoggerFactoryを設定します。 |
| UseMemoryCache(IMemoryCache) |
このコンテキストによるクエリ キャッシュに使用する IMemoryCache を設定します。 |
| UseModel(IModel) |
コンテキストに使用するモデルを設定します。 モデルが設定されている場合、 OnModelCreating(ModelBuilder) は実行されません。 |
| UseQueryTrackingBehavior(QueryTrackingBehavior) |
コンテキストに対して実行される LINQ クエリの追跡動作を設定します。 変更の追跡を無効にすると、エンティティ インスタンスごとに変更追跡を設定するオーバーヘッドが回避されるため、読み取り専用のシナリオに役立ちます。 エンティティ インスタンスを操作し、 SaveChanges()を使用してそれらの変更をデータベースに保持する場合は、変更の追跡を無効にしないでください。 |
| UseRootApplicationServiceProvider() |
スコープ付きアプリケーション サービス プロバイダーからのルート IServiceProvider を解決します。 ルート プロバイダーを使用して、シングルトン内部サービスからシングルトン アプリケーション サービスを取得できます。 |
| UseRootApplicationServiceProvider(IServiceProvider) |
シングルトン内部サービスからシングルトン アプリケーション サービスを取得できるルート IServiceProvider を設定します。 |
| UseSeeding(Action<DbContext,Boolean>) |
EnsureCreated()が呼び出された後、または移行が適用された後に実行されるようにシード メソッドを構成します。 ストアへの変更が実行されなかった場合でも呼び出されます。 |
明示的なインターフェイスの実装
| Name | 説明 |
|---|---|
| IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
指定した拡張機能をオプションに追加します。 同じ型の既存の拡張機能が既に存在する場合は、置き換えられます。 |
| IDbContextOptionsBuilderInfrastructure.RemoveExtension<TExtension>() |
指定した型の拡張子をオプションから削除します。 指定された型の拡張子が存在しない場合、これは no-opです。 |