System.Data.Entity 名前空間

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

System.Data.Entity 名前空間には、Entity Framework のコア機能にアクセスするためのクラスが含まれます。

クラス

  クラス 説明
パブリック クラス CreateDatabaseIfNotExists<TContext> データベースが存在しない場合のみ、データベースの再作成および必要に応じてデータベースの再シードを行う IDatabaseInitializer の実装。データベースをシードするには、派生クラスを作成し、Seed メソッドをオーバーライドします。
パブリック クラス Database このクラスのインスタンスは、DbContext オブジェクトから取得され、DbContext または接続をサポートする実際のデータベースの管理に使用できます。管理には、データベースの作成、削除、存在の確認が含まれます。データベースの削除および存在の確認は、このクラスの静的メソッドを使用すると、(完全なコンテキストなしに) 接続のみを使用して実行できます。
パブリック クラス DbConfiguration このクラスから派生したクラスを DbContext から派生したクラスと同じアセンブリに配置して、アプリケーションの Entity Framework 構成を定義できます。構成は、派生型のコンストラクターでこのクラスのプロテクト メソッドを呼び出し、プロテクト プロパティを設定することによって設定されます。使用する型は、アプリケーションの構成ファイルに登録することもできます。Entity Framework 構成の詳細については、https://go.microsoft.com/fwlink/?LinkId=260883 を参照してください。
パブリック クラス DbConfigurationTypeAttribute この属性は、DbContext のサブクラスに配置でき、アプリケーションのコードベースの構成を表す DbConfiguration のサブクラスがコンテキスト型とは異なるアセンブリにあることを示します。
パブリック クラス DbContext DbContext インスタンスは、データベースに照会してすべての変更をグループ化し、1 つの単位としてストアに書き戻すことができるような、作業単位パターンとリポジトリ パターンの組み合わせを表します。DbContext は ObjectContext と概念的に似ています。
パブリック クラス DbContextTransaction 基になるストア接続上のトランザクション オブジェクトへのアクセスをラップし、Entity Framework がそのトランザクションのコンテキスト内でデータベースのコマンドを確実に実行します。このクラスのインスタンスは、DbContextDatabase オブジェクトの BeginTransaction() を呼び出すことで取得されます。
パブリック クラス DbFunctionAttribute 指定したメソッドが EDM の関数のプロキシであることを示します。
パブリック クラス DbFunctions DbContext または ObjectContext LINQ to Entities クエリで EDM の正規関数を公開する共通言語ランタイム (CLR: Common Language Runtime) のメソッドを提供します。
パブリック クラス DbModelBuilder DbModelBuilder は、データベース スキーマに CLR クラスをマップするために使用します。コード主体で Entity Data Model (EDM) モデルをビルドする方法が "Code First" です。
パブリック クラス DbModelBuilderVersionAttribute この属性は、DbContext から派生したクラスに適用することによって、コードからモデルを構築する ("Code First" とも呼ばれる) 際に使用する DbContext 規約および DbModelBuilder 規約のバージョンを設定できます。DbModelBuilder のバージョンの詳細については、DbModelBuilderVersion 列挙体のトピックを参照してください。
パブリック クラス DbSet 非ジェネリック バージョンの DbSet<TEntity>。ビルド時にエンティティの型が不明な場合に使用できます。
パブリック クラス DbSet<TEntity> DbSet は、指定された型のコンテキストにある (つまりデータベースで照会できる) すべてのエンティティのコレクションを表します。DbSet オブジェクトは、DbContext から DbContext.Set メソッドを使用して作成されます。
パブリック クラス DropCreateDatabaseAlways<TContext> アプリケーション ドメインで初めてコンテキストが使用されたときに、データベースを常に再作成し、必要に応じてデータベースの再シードを行う IDatabaseInitializer の実装。データベースをシードするには、派生クラスを作成し、Seed メソッドをオーバーライドします。
パブリック クラス DropCreateDatabaseIfModelChanges<TContext> データベースの作成後にモデルが変更された場合のみ、データベースの削除、再作成、または必要に応じてデータベースの再シードを行う IDatabaseInitializer の実装。
パブリック クラス MigrateDatabaseToLatestVersion<TContext, TMigrationsConfiguration> Code First Migrations を使用してデータベースを最新のバージョンに更新する IDatabaseInitializer<TContext> の実装。
パブリック クラス NullDatabaseInitializer<TContext> 何も実行しない IDatabaseInitializer<TContext> の実装。この初期化子を使用して、指定したコンテキスト型に対してデータベースの初期化を無効にします。このクラスのインスタンスを SetInitializer<TContext>(IDatabaseInitializer<TContext>) に渡すことは、null を渡すことと同じです。IDbDependencyResolver を使用して初期化子を解決する場合、このクラスのインスタンスを使って、初期化を無効にする必要があります。
パブリック クラス ObservableCollectionExtensions ObservableCollection<T> の拡張メソッド。
パブリック クラス QueryableExtensions Entity Framework の LINQ クエリで使用する便利な拡張メソッドを提供します。

インターフェイス

  Interface 説明
パブリック インターフェイス IDatabaseInitializer<TContext> DbContext 派生クラスのインスタンスが初めて使われた場合、このインターフェイスの実装が基になるデータベースの初期化に使用されます。この初期化では、条件に基づいて、データベースの作成やデータベースへのデータのシードを行うことができます。使用する方法は Database クラスの静的な InitializationStrategy プロパティを使用して設定されます。DropCreateDatabaseIfModelChanges<TContext>DropCreateDatabaseAlways<TContext>CreateDatabaseIfNotExists<TContext> の実装が提供されます。
パブリック インターフェイス IDbSet<TEntity> IDbSet<TEntity> は、コンテキストの、またはデータベースからクエリできる、特定の型のすべてのエンティティのコレクションを表します。DbSet<TEntity> は、IDbSet の具象実装です。

列挙型

  列挙型 説明
パブリック列挙体 DbModelBuilderVersion この列挙体の値は、DbModelBuilder クラスに直接指定することも、DbContext から派生したクラスに適用される DbModelBuilderVersionAttribute で使用することもできます。使用される値は、コードからモデルを構築する ("Code First" とも呼ばれる) 場合に使用する DbContext 規約と DbModelBuilder 規約のバージョンを定義します。
パブリック列挙体 EntityState エンティティの状態を記述します。
パブリック列挙体 TransactionalBehavior データベース コマンドまたはクエリの実行中のトランザクション作成動作を制御します。