DbContextOptionsBuilder<TContext> クラス

定義

を構成 DbContextOptions<TContext>するための簡単な API サーフェスを提供します。 通常、データベース (およびその他の拡張機能) は、コンテキストに使用するデータベース接続 (およびその他のオプション) を構成できる拡張メソッドをこのオブジェクトに定義します。

public class DbContextOptionsBuilder<TContext> : Microsoft.EntityFrameworkCore.DbContextOptionsBuilder where TContext : DbContext
type DbContextOptionsBuilder<'Context (requires 'Context :> DbContext)> = class
    inherit DbContextOptionsBuilder
Public Class DbContextOptionsBuilder(Of TContext)
Inherits DbContextOptionsBuilder

型パラメーター

TContext

構成するコンテキストの種類。

継承
DbContextOptionsBuilder<TContext>

注釈

を使用 DbContextOptionsBuilder してコンテキストを構成するには、外部で を OnConfiguring(DbContextOptionsBuilder) オーバーライドまたは作成 DbContextOptions し、コンテキスト コンストラクターに渡します。

詳細と例については、「 DbContextOptions の使用 」を参照してください。

コンストラクター

DbContextOptionsBuilder<TContext>()

オプションを設定せず、 DbContextOptionsBuilder<TContext> クラスの新しいインスタンスを初期化します。

DbContextOptionsBuilder<TContext>(DbContextOptions<TContext>)

クラスの新しいインスタンスを初期化して、 DbContextOptionsBuilder<TContext> 指定された DbContextOptionsをさらに構成します。

プロパティ

IsConfigured

オプションが構成されているかどうかを示す値を取得します。

(継承元 DbContextOptionsBuilder)
Options

構成されているオプションを取得します。

メソッド

AddInterceptors(IEnumerable<IInterceptor>)

コンテキストに登録されているインスタンスにインスタンスを追加 IInterceptor します。

AddInterceptors(IEnumerable<IInterceptor>)

コンテキストに登録されているインスタンスにインスタンスを追加 IInterceptor します。

(継承元 DbContextOptionsBuilder)
AddInterceptors(IInterceptor[])

コンテキストに登録されているインスタンスにインスタンスを追加 IInterceptor します。

AddInterceptors(IInterceptor[])

コンテキストに登録されているインスタンスにインスタンスを追加 IInterceptor します。

(継承元 DbContextOptionsBuilder)
ConfigureLoggingCacheTime(TimeSpan)

EF Core が特定の高パフォーマンス パスにログ構成をキャッシュする期間を構成します。 これにより、EF Core はコストの高いログ記録チェックをスキップしますが、実行時のログ記録の変更 (たとえば、新しい DiagnosticListener 登録はすぐには考慮されない可能性があります) を意味します。

ConfigureLoggingCacheTime(TimeSpan)

EF Core が特定の高パフォーマンス パスにログ構成をキャッシュする期間を構成します。 これにより、EF Core はコストの高いログ記録チェックをスキップしますが、実行時のログ記録の変更 (たとえば、新しい DiagnosticListener 登録はすぐには考慮されない可能性があります) を意味します。

(継承元 DbContextOptionsBuilder)
ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Entity Framework によって生成される警告の実行時動作を構成します。 警告の種類ごとに既定の動作と動作を設定できます。

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Entity Framework によって生成される警告の実行時動作を構成します。 警告の種類ごとに既定の動作と動作を設定できます。

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Entity Framework によって生成される警告の実行時動作を構成します。 警告の種類ごとに既定の動作と動作を設定できます。

(継承元 DbContextOptionsBuilder)
ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Entity Framework によって生成される警告の実行時動作を構成します。 警告の種類ごとに既定の動作と動作を設定できます。

(継承元 DbContextOptionsBuilder)
EnableDetailedErrors(Boolean)

ストア クエリ結果の処理中に発生するデータ値の例外を処理するときに、詳細なエラーを有効にします。 このようなエラーは、ほとんどの場合、エンティティ プロパティの構成ミスが原因で発生します。 たとえば、プロパティが型 'int' に構成されているが、ストア内の基になるデータが実際には型 'string' の場合、データ値の処理中に実行時に例外が生成されます。 このオプションが有効で、データ エラーが発生した場合、生成された例外には、エラーを生成した特定のエンティティ プロパティの詳細が含まれます。

EnableDetailedErrors(Boolean)

ストア クエリ結果の処理中に発生するデータ値の例外を処理するときに、詳細なエラーを有効にします。 このようなエラーは、ほとんどの場合、エンティティ プロパティの構成ミスが原因で発生します。 たとえば、プロパティが型 'int' に構成されているが、ストア内の基になるデータが実際には型 'string' の場合、データ値の処理中に実行時に例外が生成されます。 このオプションが有効で、データ エラーが発生した場合、生成された例外には、エラーを生成した特定のエンティティ プロパティの詳細が含まれます。

(継承元 DbContextOptionsBuilder)
EnableSensitiveDataLogging()

アプリケーション データを例外メッセージやログなどに含めることができます。これには、エンティティ インスタンスのプロパティに割り当てられた値、データベースに送信されるコマンドのパラメーター値、およびその他のデータが含まれます。 このフラグは、このデータの機密性に基づいて適切なセキュリティ対策が適用されている場合にのみ有効にする必要があります。

EnableSensitiveDataLogging()

アプリケーション データを例外メッセージやログなどに含めることができます。これには、エンティティ インスタンスのプロパティに割り当てられた値、データベースに送信されるコマンドのパラメーター値、およびその他のデータが含まれます。 このフラグは、このデータの機密性に基づいて適切なセキュリティ対策が適用されている場合にのみ有効にする必要があります。

(継承元 DbContextOptionsBuilder)
EnableSensitiveDataLogging(Boolean)

アプリケーション データを例外メッセージやログなどに含めることができます。これには、エンティティ インスタンスのプロパティに割り当てられた値、データベースに送信されるコマンドのパラメーター値、およびその他のデータが含まれます。 このフラグは、このデータの機密性に基づいて適切なセキュリティ対策が適用されている場合にのみ有効にする必要があります。

EnableSensitiveDataLogging(Boolean)

アプリケーション データを例外メッセージやログなどに含めることができます。これには、エンティティ インスタンスのプロパティに割り当てられた値、データベースに送信されるコマンドのパラメーター値、およびその他のデータが含まれます。 このフラグは、このデータの機密性に基づいて適切なセキュリティ対策が適用されている場合にのみ有効にする必要があります。

(継承元 DbContextOptionsBuilder)
EnableServiceProviderCaching(Boolean)

内部サービス プロバイダーのキャッシュを有効または無効にします。 キャッシュを無効にするとパフォーマンスに大きな影響を与える可能性があり、テスト分離のために多くのサービス プロバイダーを構築するテスト シナリオでのみ使用する必要があります。

EnableServiceProviderCaching(Boolean)

内部サービス プロバイダーのキャッシュを有効または無効にします。 キャッシュを無効にするとパフォーマンスに大きな影響を与える可能性があり、テスト分離のために多くのサービス プロバイダーを構築するテスト シナリオでのみ使用する必要があります。

(継承元 DbContextOptionsBuilder)
EnableThreadSafetyChecks(Boolean)

同時実行検出を無効にします。これにより、インスタンスの誤った同時使用の多くのケースが DbContext 検出され、有益な例外がスローされます。 これによりパフォーマンスが若干向上しますが、インスタンスが同時に使用される場合 DbContext 、動作は未定義になり、予期しない方法でプログラムが失敗する可能性があります。

EnableThreadSafetyChecks(Boolean)

同時実行検出を無効にします。これにより、インスタンスの誤った同時使用の多くのケースが DbContext 検出され、有益な例外がスローされます。 これによりパフォーマンスが若干向上しますが、インスタンスが同時に使用される場合 DbContext 、動作は未定義になり、予期しない方法でプログラムが失敗する可能性があります。

(継承元 DbContextOptionsBuilder)
LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>)

指定されたカスタム フィルター デリゲートによってフィルター処理されたイベントをログに記録します。 フィルターは、メッセージをログに記録するには true を返し、ログから除外するには false を返す必要があります。

LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>)

指定されたカスタム フィルター デリゲートによってフィルター処理されたイベントをログに記録します。 フィルターは、メッセージをログに記録するには true を返し、ログから除外するには false を返す必要があります。

(継承元 DbContextOptionsBuilder)
LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>)

指定したアクションを使用して、指定したイベントをログに記録します。 たとえば、 を使用 optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) して、コンソールに ContextInitialized イベントをログに記録します。

LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>)

指定したアクションを使用して、指定したイベントをログに記録します。 たとえば、 を使用 optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) して、コンソールに ContextInitialized イベントをログに記録します。

(継承元 DbContextOptionsBuilder)
LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>)

指定したアクションを使用して、指定したカテゴリ内のすべてのイベントをログに記録します。 たとえば、 を使用 optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) して、カテゴリ内のすべてのイベントをログに DbLoggerCategory.Infrastructure 記録します。

LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>)

指定したアクションを使用して、指定したカテゴリ内のすべてのイベントをログに記録します。 たとえば、 を使用 optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) して、カテゴリ内のすべてのイベントをログに DbLoggerCategory.Infrastructure 記録します。

(継承元 DbContextOptionsBuilder)
LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>)

指定されたアクションを使用してログを記録します。 たとえば、 を使用 optionsBuilder.LogTo(Console.WriteLine) してコンソールにログを記録します。

LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>)

指定されたアクションを使用してログを記録します。 たとえば、 を使用 optionsBuilder.LogTo(Console.WriteLine) してコンソールにログを記録します。

(継承元 DbContextOptionsBuilder)
LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>)

カスタム フィルター デリゲートでフィルター処理されたカスタム ロガー デリゲートにイベントをログに記録します。 フィルターは、メッセージをログに記録するには true を返し、ログから除外するには false を返す必要があります。

LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>)

カスタム フィルター デリゲートでフィルター処理されたカスタム ロガー デリゲートにイベントをログに記録します。 フィルターは、メッセージをログに記録するには true を返し、ログから除外するには false を返す必要があります。

(継承元 DbContextOptionsBuilder)
ReplaceService<TService,TCurrentImplementation,TNewImplementation>()

サービス コントラクトの特定の実装の内部 Entity Framework 実装を別の実装に置き換えます。

ReplaceService<TService,TCurrentImplementation,TNewImplementation>()

サービス コントラクトの特定の実装の内部 Entity Framework 実装を別の実装に置き換えます。

(継承元 DbContextOptionsBuilder)
ReplaceService<TService,TImplementation>()

サービス コントラクトのすべての内部 Entity Framework 実装を別の実装に置き換えます。

ReplaceService<TService,TImplementation>()

サービス コントラクトのすべての内部 Entity Framework 実装を別の実装に置き換えます。

(継承元 DbContextOptionsBuilder)
UseApplicationServiceProvider(IServiceProvider)

アプリケーション サービスの IServiceProvider 取得元となる を設定します。 これは 'AddDbContext' を使用する場合に自動的に行われるので、このメソッドを呼び出す必要はまれです。

UseApplicationServiceProvider(IServiceProvider)

アプリケーション サービスの IServiceProvider 取得元となる を設定します。 これは、'AddDbContext' または 'AddDbContextPool' を使用する場合に自動的に行われるので、このメソッドを呼び出す必要はまれです。

(継承元 DbContextOptionsBuilder)
UseInternalServiceProvider(IServiceProvider)

コンテキストが IServiceProvider すべてのサービスを解決する必要がある を設定します。 何も指定されていない場合、EF はサービス プロバイダーを作成および管理します。

UseLoggerFactory(ILoggerFactory)

ILoggerFactoryこのコンテキストによって実行されるログ記録のインスタンスの作成ILoggerに使用する を設定します。

UseMemoryCache(IMemoryCache)

IMemoryCacheこのコンテキストによるクエリ キャッシュに使用する を設定します。

UseModel(IModel)

コンテキストに使用するモデルを設定します。 モデルが設定されている場合、 OnModelCreating(ModelBuilder) は実行されません。

UseQueryTrackingBehavior(QueryTrackingBehavior)

コンテキストに対して実行される LINQ クエリの追跡動作を設定します。 変更の追跡を無効にすると、各エンティティ インスタンスの変更追跡を設定するオーバーヘッドが回避されるため、読み取り専用のシナリオに役立ちます。 エンティティ インスタンスを操作し、 を使用して SaveChanges()データベースに変更を保持する場合は、変更の追跡を無効にしないでください。

UseQueryTrackingBehavior(QueryTrackingBehavior)

コンテキストに対して実行される LINQ クエリの追跡動作を設定します。 変更の追跡を無効にすると、各エンティティ インスタンスの変更追跡を設定するオーバーヘッドが回避されるため、読み取り専用のシナリオに役立ちます。 エンティティ インスタンスを操作し、 を使用して SaveChanges()データベースに変更を保持する場合は、変更の追跡を無効にしないでください。

(継承元 DbContextOptionsBuilder)
UseRootApplicationServiceProvider()

スコープ指定されたアプリケーション サービス プロバイダーからのルート IServiceProvider を解決します。 ルート プロバイダーを使用して、シングルトン内部サービスからシングルトン アプリケーション サービスを取得できます。

UseRootApplicationServiceProvider()

スコープ付きアプリケーション サービス プロバイダーからのルート IServiceProvider を解決します。 ルート プロバイダーを使用して、シングルトン内部サービスからシングルトン アプリケーション サービスを取得できます。

(継承元 DbContextOptionsBuilder)
UseRootApplicationServiceProvider(IServiceProvider)

シングルトン内部サービスからシングルトン アプリケーション サービスを取得できるルート IServiceProvider を設定します。

UseRootApplicationServiceProvider(IServiceProvider)

シングルトン内部サービスからシングルトン アプリケーション サービスを取得できるルート IServiceProvider を設定します。

(継承元 DbContextOptionsBuilder)

明示的なインターフェイスの実装

IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension)

指定した拡張機能をオプションに追加します。 同じ型の既存の拡張機能が既に存在する場合は、置き換えられます。

(継承元 DbContextOptionsBuilder)

拡張メソッド

UseCosmos(DbContextOptionsBuilder, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>)

Azure Cosmos データベースに接続するようにコンテキストを構成します。

UseCosmos(DbContextOptionsBuilder, String, String, Action<CosmosDbContextOptionsBuilder>)

Azure Cosmos データベースに接続するようにコンテキストを構成します。

UseCosmos(DbContextOptionsBuilder, String, String, String, Action<CosmosDbContextOptionsBuilder>)

Azure Cosmos データベースに接続するようにコンテキストを構成します。

UseCosmos<TContext>(DbContextOptionsBuilder<TContext>, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>)

Azure Cosmos データベースに接続するようにコンテキストを構成します。

UseCosmos<TContext>(DbContextOptionsBuilder<TContext>, String, String, Action<CosmosDbContextOptionsBuilder>)

Azure Cosmos データベースに接続するようにコンテキストを構成します。

UseCosmos<TContext>(DbContextOptionsBuilder<TContext>, String, String, String, Action<CosmosDbContextOptionsBuilder>)

Azure Cosmos データベースに接続するようにコンテキストを構成します。

UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>)
古い.
古い.

従来の共有メモリ内データベースに接続するようにコンテキストを構成します。 このメソッドは、互換性のために残されています。 代わりに、UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) を使用してください。

UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>)

名前付きメモリ内データベースに接続するようにコンテキストを構成します。 メモリ内データベースは、同じ名前が使用されている任意の場所で共有されますが、特定のサービス プロバイダーに対してのみ共有されます。

UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>)

名前付きメモリ内データベースに接続するようにコンテキストを構成します。 メモリ内データベースは、同じ名前が使用されている任意の場所で共有されますが、特定のサービス プロバイダーに対してのみ共有されます。 サービス プロバイダー間で同じメモリ内データベースを使用するには、 を呼び出して UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) 、データベースをルート化する共有 InMemoryDatabaseRoot を渡します。

UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, Action<InMemoryDbContextOptionsBuilder>)
古い.
古い.

従来の共有メモリ内データベースに接続するようにコンテキストを構成します。 このメソッドは、互換性のために残されています。 代わりに、UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, String, Action<InMemoryDbContextOptionsBuilder>) を使用してください。

UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>)

メモリ内データベースに接続するようにコンテキストを構成します。 メモリ内データベースは、同じ名前が使用されている任意の場所で共有されますが、特定のサービス プロバイダーに対してのみ共有されます。

UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, String, Action<InMemoryDbContextOptionsBuilder>)

メモリ内データベースに接続するようにコンテキストを構成します。 メモリ内データベースは、同じ名前が使用されている任意の場所で共有されますが、特定のサービス プロバイダーに対してのみ共有されます。 サービス プロバイダー間で同じメモリ内データベースを使用するには、 を呼び出して UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) 、データベースをルート化する共有 InMemoryDatabaseRoot を渡します。

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

変更追跡プロキシの作成を有効にします。

UseChangeTrackingProxies<TContext>(DbContextOptionsBuilder<TContext>, Boolean, Boolean)

変更追跡プロキシの作成を有効にします。

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

遅延読み込みプロキシの作成を有効にします。

UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean)

遅延読み込みプロキシの作成を有効にします。

UseLazyLoadingProxies<TContext>(DbContextOptionsBuilder<TContext>, Action<LazyLoadingProxiesOptionsBuilder>)

遅延読み込みプロキシの作成を有効にします。

UseLazyLoadingProxies<TContext>(DbContextOptionsBuilder<TContext>, Boolean)

遅延読み込みプロキシの作成を有効にします。

UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>)

SQLite データベースに接続するようにコンテキストを構成しますが、初期設定や接続文字列はDbConnection設定しません。

UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>)

SQLite データベースに接続するようにコンテキストを構成します。

UseSqlite(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqliteDbContextOptionsBuilder>)

SQLite データベースに接続するようにコンテキストを構成します。

UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>)

SQLite データベースに接続するようにコンテキストを構成します。

UseSqlite<TContext>(DbContextOptionsBuilder<TContext>, Action<SqliteDbContextOptionsBuilder>)

SQLite データベースに接続するようにコンテキストを構成しますが、初期設定や接続文字列はDbConnection設定しません。

UseSqlite<TContext>(DbContextOptionsBuilder<TContext>, DbConnection, Action<SqliteDbContextOptionsBuilder>)

SQLite データベースに接続するようにコンテキストを構成します。

UseSqlite<TContext>(DbContextOptionsBuilder<TContext>, DbConnection, Boolean, Action<SqliteDbContextOptionsBuilder>)

SQLite データベースに接続するようにコンテキストを構成します。

UseSqlite<TContext>(DbContextOptionsBuilder<TContext>, String, Action<SqliteDbContextOptionsBuilder>)

SQLite データベースに接続するようにコンテキストを構成します。

UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>)

Microsoft SQL Server データベースに接続するようにコンテキストを構成しますが、初期設定や接続文字列はDbConnection行いません。

UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Microsoft SQL Server データベースに接続するようにコンテキストを構成します。

UseSqlServer(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>)

Microsoft SQL Server データベースに接続するようにコンテキストを構成します。

UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>)

Microsoft SQL Server データベースに接続するようにコンテキストを構成します。

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, Action<SqlServerDbContextOptionsBuilder>)

Microsoft SQL Server データベースに接続するようにコンテキストを構成しますが、初期設定や接続文字列はDbConnection行いません。

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Microsoft SQL Server データベースに接続するようにコンテキストを構成します。

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>)

Microsoft SQL Server データベースに接続するようにコンテキストを構成します。

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, String, Action<SqlServerDbContextOptionsBuilder>)

Microsoft SQL Server データベースに接続するようにコンテキストを構成します。

適用対象