次の方法で共有


System.Data.Entity.Infrastructure 名前空間

[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]

System.Data.Entity.Infrastructure 名前空間には、Entity Framework のコア機能をサポートするクラスが含まれています。

クラス

  クラス 説明
パブリック クラス CommitFailedException DbTransaction のコミット時にエラーが発生するとスローされる例外です。
パブリック クラス CommitFailureHandler トランザクション トレース情報をデータベースに保存することで、トランザクション コミット中の接続エラーから正常に回復できるようにする、トランザクション ハンドラーを表します。SetDefaultTransactionHandler(Func<TransactionHandler>) を使用して登録する必要があります。
パブリック クラス DbChangeTracker エンティティの変更追跡に関係するコンテキストでの諸機能にアクセスを提供する DbContext の ChangeTracker メソッドによって返されます。
パブリック クラス DbCollectionEntry DbCollectionEntry<TEntity, TElement> クラスの非ジェネリック バージョンを表します。
パブリック クラス DbCollectionEntry<TEntity, TElement> このクラスのインスタンスは DbEntityEntry<TEntity> の Collection メソッドから返され、エンティティのコレクション ナビゲーション プロパティの読み込みなどの操作を可能にします。
パブリック クラス DbCompiledModel ObjectContext の作成に使用できる、または DbContext のコンストラクターに渡すことのできる Entity Data Model (EDM) モデルの不変表記。パフォーマンスを向上させるには、この型のインスタンスをキャッシュしてコンテキストの作成に再使用する必要があります。
パブリック クラス DbComplexPropertyEntry DbComplexPropertyEntry<TEntity, TComplexProperty> クラスの非ジェネリック バージョン。
パブリック クラス DbComplexPropertyEntry<TEntity, TComplexProperty> このクラスのインスタンスは DbEntityEntry<TEntity> の ComplexProperty メソッドから返され、複合プロパティへのアクセスを可能にします。
パブリック クラス DbConnectionInfo データベース接続に関する情報を表します。
パブリック クラス DbContextConfiguration コンテキストの構成オプションへのアクセスを提供するために DbContext の Configuration メソッドによって返されます。
パブリック クラス DbContextInfo 指定した DbContext 型に関するランタイム情報を提供します。
パブリック クラス DbEntityEntry DbEntityEntry<TEntity> クラスの非ジェネリック バージョン。
パブリック クラス DbEntityEntry<TEntity> このクラスのインスタンスは、DbContext によって追跡されているエンティティの情報および制御へのアクセスを提供します。この型のオブジェクトを取得するには、そのコンテキストの Entity または Entities メソッドを使用します。
パブリック クラス DbExecutionStrategy 信頼できない操作や一時的な状態のための再試行メカニズムの基本実装を提供します。このメカニズムでは、再試行を繰り返すたびに待ち時間が指数関数的に長くなります。
パブリック クラス DbMemberEntry これは抽象型基本クラスであり、エンティティのスカラー プロパティ、複合プロパティ、またはナビゲーション プロパティを表すために使用されます。スカラーおよび複合プロパティは派生クラスの DbPropertyEntry を、参照ナビゲーション プロパティは派生クラスの DbReferenceEntry を、コレクション ナビゲーション プロパティは派生クラスの DbCollectionEntry を使用します。
パブリック クラス DbMemberEntry<TEntity, TProperty> これは抽象型基本クラスであり、エンティティのスカラー プロパティ、複合プロパティ、またはナビゲーション プロパティを表すために使用されます。スカラーおよび複合プロパティは派生クラスの DbPropertyEntry<TEntity, TProperty> を、参照ナビゲーション プロパティは派生クラスの DbReferenceEntry<TEntity, TProperty> を、コレクション ナビゲーション プロパティは派生クラスの DbCollectionEntry<TEntity, TElement> を使用します。
パブリック クラス DbModel DbModelBuilder によって作成された Entity Data Model (EDM) を表します。Compile メソッドは、この EDM 表現から DbCompiledModel への変換に使用できます。後者はモデルのスナップショットをコンパイルしたものであり、DbContext または ObjectContext インスタンスのキャッシュと作成に適しています。
パブリック クラス DbPropertyEntry DbPropertyEntry<TEntity, TProperty> クラスの非ジェネリック バージョン。
パブリック クラス DbPropertyEntry<TEntity, TProperty> このクラスのインスタンスは DbEntityEntry<TEntity> の Property メソッドから返され、スカラーまたは複合プロパティへのアクセスを可能にします。
パブリック クラス DbPropertyValues 基になっているエンティティまたは複合オブジェクトの全プロパティのコレクション。
パブリック クラス DbProviderInfo プロバイダーとサーバーのバージョンを識別する文字列のペアを単一のオブジェクトにグループ化します。
パブリック クラス DbQuery DbContext に対する非ジェネリックの LINQ to Entities クエリを表します。
パブリック クラス DbQuery<TResult> DbContext に対する LINQ to Entities クエリを表します。
パブリック クラス DbRawSqlQuery DbContext から作成されたエンティティ以外のものに対する SQL クエリを表します。クエリはそのコンテキストからの接続を使用して実行されます。このクラスのインスタンスは Database インスタンスから取得されます。クエリは、このオブジェクトが作成されたときに実行されるのではなく、列挙されるときに毎回実行されます。たとえば foreach を使用した場合などです。エンティティに対する SQL クエリは SqlQuery(String, Object[]) を使用して作成されます。このクラスのジェネリック バージョンについては、DbRawSqlQuery<TElement> を参照してください。
パブリック クラス DbRawSqlQuery<TElement> DbContext から作成されたエンティティ以外のものに対する SQL クエリを表します。クエリはそのコンテキストからの接続を使用して実行されます。このクラスのインスタンスは Database インスタンスから取得されます。クエリは、このオブジェクトが作成されたときに実行されるのではなく、列挙されるときに毎回実行されます。たとえば foreach を使用した場合などです。エンティティに対する SQL クエリは SqlQuery(String, Object[]) を使用して作成されます。このクラスの非ジェネリック バージョンについては、DbRawSqlQuery を参照してください。
パブリック クラス DbReferenceEntry DbReferenceEntry<TEntity, TProperty> クラスの非ジェネリック バージョン。
パブリック クラス DbReferenceEntry<TEntity, TProperty> このクラスのインスタンスは DbEntityEntry<TEntity> の Reference メソッドから返され、エンティティの参照ナビゲーション プロパティの読み込みなどの操作を可能にします。
パブリック クラス DbSqlQuery DbContext から作成されたエンティティに対する SQL クエリを表します。クエリはそのコンテキストからの接続を使用して実行されます。このクラスのインスタンスはそのエンティティ型の DbSet インスタンスから取得されます。クエリは、このオブジェクトが作成されたときに実行されるのではなく、列挙されるときに毎回実行されます。たとえば foreach を使用した場合などです。エンティティ以外のものに対する SQL クエリは SqlQuery(Type, String, Object[]) を使用して作成されます。このクラスのジェネリック バージョンについては、DbSqlQuery<TEntity> を参照してください。
パブリック クラス DbSqlQuery<TEntity> DbContext から作成されたエンティティに対する SQL クエリを表します。クエリはそのコンテキストからの接続を使用して実行されます。このクラスのインスタンスはそのエンティティ型の DbSet<TEntity> インスタンスから取得されます。クエリは、このオブジェクトが作成されたときに実行されるのではなく、列挙されるときに毎回実行されます。たとえば foreach を使用した場合などです。エンティティ以外のものに対する SQL クエリは SqlQuery<TElement>(String, Object[]) を使用して作成されます。このクラスの非ジェネリック バージョンについては、DbSqlQuery を参照してください。
パブリック クラス DbUpdateConcurrencyException エンティティに対する SaveChanges の結果、データベースが更新されることになっているのに、実際にはデータベース内で影響を受けた行がない場合に、DbContext によってスローされる例外。通常、これはデータベースの更新が同時進行しており、一致することになっていた同時実行トークンが実際には一致しなかったことを示します。この例外によって参照される状態エントリは、セキュリティ保護のためにシリアル化されていないことに注意してください。シリアル化の後に状態エントリにアクセスすると null が返されます。
パブリック クラス DbUpdateException 変更をデータベースに保存できなかったとき、DbContext によってスローされる例外です。この例外によって参照される状態エントリは、セキュリティ保護のためにシリアル化されていないことに注意してください。シリアル化の後に状態エントリにアクセスすると null が返されます。
パブリック クラス DefaultExecutionStrategy 失敗した場合に操作を再試行しない既定の IDbExecutionStrategy を表します。
パブリック クラス DefaultManifestTokenResolver 基になるプロバイダーを使用してマニフェスト トークンを取得する IManifestTokenResolver の既定の実装を表します。複数のクエリを避けるために、この実装では DbConnection インスタンスの実際の型、DataSource プロパティ、Database プロパティに基づいてキャッシュを使用してください。
パブリック クラス EdmMetadata 互換性のために残されています。 データベース内に EDM に関するメタデータを格納するために使用されるエンティティを表します。
パブリック クラス EdmxWriter Code First によって EDMX フォームで作成された Entity Data Model にアクセスするために使用されるメソッドが入っています。Code First が内部で作成したモデルを調べる必要のあるとき、通常これらのメソッドはデバッグで使用されます。
パブリック クラス ExecutionStrategyKey Func<TResult> を解決するために使用するキー。これは、接続文字列で指定した、ADO.NET プロバイダーの不変名とデータベース サーバー名で構成されます。
パブリック クラス IncludeMetadataConvention 互換性のために残されています。 この DbModelBuilder 規約では、DbModelBuilder はモデルを構築するときにモデルに関するメタデータを含めます。DbContext が規約に従ってモデルを作成するとき、DbModelBuilder によって使用される一覧にこの規約が追加されます。その結果、DbContext がデータベースの作成に使用されると、モデルのメタデータがデータベースに書き込まれます。その後、モデルがそのデータベースに対して最後に使用されてから変更されているかどうかを簡単に確認するために、この規約を使用できます。この規約は、派生した DbContext クラス上の OnModelCreating メソッドをオーバーライドすることで、DbModelBuilder の規約から削除できます。
パブリック クラス LocalDbConnectionFactory このクラスのインスタンスは、指定したデータベース名または接続文字列に基づいて、SQL Server LocalDb の DbConnection オブジェクトを作成する際に使用されます。
パブリック クラス ModelContainerConvention この DbModelBuilder 規約では、派生 DbContext クラスの名前が Code First によって構築された概念モデルのコンテナーとして使用されます。
パブリック クラス ModelNamespaceConvention この DbModelBuilder 規約では、派生した DbContext クラスの名前空間が Code First によって構築された概念モデルの名前空間として使用されます。
パブリック クラス ObjectReferenceEqualityComparer 参照の等価性を使用してオブジェクトを比較します。
パブリック クラス ReplacementDbQueryWrapper<TElement> このクラスのインスタンスは、DbQuery<TResult> および DbQuery への参照を置き換える式ツリーに挿入される ObjectQuery<T> の定数式の作成に内部で使用されます。
パブリック クラス RetryLimitExceededException アクションを構成した回数試行した後、再度失敗した場合にスローされる例外。
パブリック クラス SqlCeConnectionFactory このクラスのインスタンスは、指定されているデータベース名または接続文字列に基づいて、SQL Server Compact Edition の DbConnection オブジェクトの作成に使用されます。
パブリック クラス SqlConnectionFactory このクラスのインスタンスは、指定されているデータベース名または接続文字列に基づいて、SQL Server の DbConnection オブジェクトの作成に使用されます。既定では、".\SQLEXPRESS" に接続されます。これは、ファクトリ インスタンスを作成するときに、基本接続文字列を変更することによって変更できます。
パブリック クラス SuppressDbSetInitializationAttribute この属性は派生 DbContext クラス全体に、またはそのクラスの個々の DbSet<TEntity> または IDbSet<TEntity> プロパティに適用できます。適用時、検出された DbSet<TEntity> または IDbSet<TEntity> プロパティはまだモデルに入っていますが、自動的に初期化されません。
パブリック クラス TableExistenceChecker Entity Framework プロバイダーによって実装され、テーブルが特定のデータベースに存在するかどうかを確認するために使用されます。これは、テーブルが作成されるように、既存のデータベースを空白として扱うかどうかを決定する場合に、データベース初期化子によって使用されます。
パブリック クラス TransactionContext このクラスは、データベースに対してトランザクションのトレース情報を読み書きするために CommitFailureHandler で使用されます。トランザクション テーブルの定義をカスタマイズするには、このクラスから派生させて OnModelCreating(DbModelBuilder) をオーバーライドします。派生クラスは DbConfiguration を使用して登録できます。
パブリック クラス TransactionHandler トランザクション操作を処理するインターセプターの基本クラスを表します。派生クラスは SetDefaultTransactionHandler(Func<TransactionHandler>) または SetTransactionHandler(String, Func<TransactionHandler>, String) を使用して登録できます。
パブリック クラス TransactionRow トランザクションを表します。
パブリック クラス UnintentionalCodeFirstException Database First または Model First モードで DbContext テンプレートから生成されたコンテキストが Code First モードで使用されたときにスローされます。

インターフェイス

  Interface 説明
パブリック インターフェイス IDbAsyncEnumerable 要素を非同期で取得できる IEnumerable インターフェイスの非同期バージョン。Entity Framework のクエリとの対話にこのインターフェイスが使用されますが、カスタム クラスによって実装する必要はありません。
パブリック インターフェイス IDbAsyncEnumerable<T> 列挙可能なシーケンスの要素を非同期で取得できる IEnumerable<T> インターフェイスの非同期バージョン。Entity Framework のクエリとの対話にこのインターフェイスが使用されますが、カスタム クラスによって実装する必要はありません。
パブリック インターフェイス IDbAsyncEnumerator 要素を非同期で取得できる IEnumerator インターフェイスの非同期バージョン。Entity Framework のクエリとの対話にこのインターフェイスが使用されますが、カスタム クラスによって実装する必要はありません。
パブリック インターフェイス IDbAsyncEnumerator<T> 要素を非同期で取得できる IEnumerator<T> インターフェイスの非同期バージョン。Entity Framework のクエリとの対話にこのインターフェイスが使用されますが、カスタム クラスによって実装する必要はありません。
パブリック インターフェイス IDbAsyncQueryProvider IQueryable オブジェクトによって記述されるクエリを作成および非同期に実行するメソッドを定義します。Entity Framework のクエリとの対話にこのインターフェイスが使用されますが、カスタム クラスによって実装する必要はありません。
パブリック インターフェイス IDbConnectionFactory このインターフェイスの実装は、指定されたデータベース名に基づいてある種類のデータベース サーバーに対する DbConnection オブジェクトを作成するために使用されます。インスタンスが Database クラスに設定されているので、すべての DbContexts オブジェクトが接続情報なしで作成されることになります。または既定で特定の種類のデータベース サーバーが使用されるように、データベース名または接続文字列のみが使用されます。このインターフェイスには 2 つの実装が提供されています。SqlConnectionFactory は Microsoft SQL Server (EXPRESS Edition も含む) への接続を作成するために使用されます。SqlCeConnectionFactory は Microsoft SQL Server Compact Edition への接続を作成するために使用されます。その他のデータベース サーバー用の実装は必要に応じて追加できます。インターフェイスの実装は、複数のスレッドから同時にアクセスされるので、スレッド セーフまたは不変になっている必要があることに注意してください。
パブリック インターフェイス IDbContextFactory<TContext> DbContext 派生インスタンスを作成するためのファクトリです。既定のパブリック コンストラクターを持たないコンテキスト型のデザイン時サービスを有効にするには、このインターフェイスを実装します。デザイン時に、モデルのレンダリング、DDL の生成など、特定のデザイン時の操作を有効にするために、派生した DbContext のインスタンスを作成できます。既定のパブリック コンストラクターを持たない DbContext の派生型に対してデザイン時インスタンス化を有効にするには、このインターフェイスを実装します。デザイン時サービスでは、DbContext 派生型と同じアセンブリに含まれているこのインターフェイスの実装が自動探索されます。
パブリック インターフェイス IDbExecutionStrategy データベースに対してコマンドまたはクエリを実行するための方法。エラーが発生した場合に再試行するロジックを使用することもできます。
パブリック インターフェイス IDbModelCacheKey メモリに読み込まれた Entity Framework モデルを一意に識別するキー値を表します。
パブリック インターフェイス IDbModelCacheKeyProvider 既にキャッシュ内に作成されているモデルをルックアップする際に使用するキーをカスタム ロジックを使用して計算するには、このインターフェイスをコンテキストに実装します。このインターフェイスを使用すると、同じ AppDomain 内の異なるモデルに使用できる単一のコンテキスト型、または同じモデルを使用する複数のコンテキスト型を持つことができます。
パブリック インターフェイス IDbProviderFactoryResolver 指定された DbConnection から正しい DbProviderFactory を取得するサービス。
パブリック インターフェイス IManifestTokenResolver 接続されているプロバイダー マニフェスト トークンを取得するサービス。DefaultManifestTokenResolver クラスは既定で使用され、基になるプロバイダーを利用して、接続を開く場合に関係していることが多いトークンを取得します。別の方法として、トークンを返すために接続の情報を使用することができる IDbDependencyResolverDbConfiguration に追加することで、別の実装を使用することもできます。たとえば、接続が SQL Server 2008 データベースをポイントすることが判明している場合、接続を開かずに "2008" が返されることがあります。
パブリック インターフェイス IMetadataAnnotationSerializer MetadataProperty インスタンスによって表されるカスタム注釈を EDMX XML に対する入出力用にシリアル化するには、このインターフェイスを実装します。シリアライザー インスタンスは通常、SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>) メソッドを使用して設定します。
パブリック インターフェイス IObjectContextAdapter ObjectContext のインスタンスを提供できるオブジェクトによって実装されるインターフェイス。DbContext クラスはこのインターフェイスを実行して基になっている ObjectContext へのアクセスを提供します。
パブリック インターフェイス IProviderInvariantName DbProviderFactory からプロバイダーの不変名を解決する場合に、IDbDependencyResolverDbConfiguration で使用します。

列挙型

  列挙型 説明
パブリック列挙体 DbConnectionStringOrigin DbContext に関連付けられたデータベース接続文字列の作成元を示します。