次の方法で共有


DbContextOptionsBuilder クラス

定義

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

public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
    interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
継承
DbContextOptionsBuilder
派生
実装

注釈

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

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

コンストラクター

DbContextOptionsBuilder()

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

DbContextOptionsBuilder(DbContextOptions)

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

プロパティ

IsConfigured

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

Options

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

メソッド

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>)

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

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

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

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

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

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' を使用する場合に自動的に行われるので、このメソッドを呼び出す必要はまれです。

UseInternalServiceProvider(IServiceProvider)

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

UseLoggerFactory(ILoggerFactory)

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

UseMemoryCache(IMemoryCache)

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

UseModel(IModel)

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

UseQueryTrackingBehavior(QueryTrackingBehavior)

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

UseRootApplicationServiceProvider()

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

UseRootApplicationServiceProvider(IServiceProvider)

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

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

IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension)

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

拡張メソッド

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 データベースに接続するようにコンテキストを構成します。

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 を渡します。

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

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

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

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

UseLazyLoadingProxies(DbContextOptionsBuilder, 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 データベースに接続するようにコンテキストを構成します。

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 データベースに接続するようにコンテキストを構成します。

適用対象