Entity Framework 6

Entity Framework 6 (EF6) は、機能開発および安定化に何年もの時間が費やされてきた、十分に検証された .NET 用のオブジェクト リレーショナル マッパー (O/RM) です。

EF6 は、O/RM として、リレーショナルおよびオブジェクト指向の世界のインピーダンス不整合を減らします。開発者はこれにより、アプリケーションのドメインを表す厳密に型指定された .NET オブジェクトを使用した、リレーショナル データベースに格納されたデータをやり取りするアプリケーションを記述でき、通常は記述する必要のあるデータ アクセス "プラミング" コードの大部分を記述する必要がなくなります。

EF6 には、次のような多数の一般的な O/RM 機能が実装されています。

  • どの EF の種類にも依存しない POCO エンティティ クラスのマッピング
  • 変更の自動追跡
  • ID 解決および作業単位
  • Eager、lazy および明示的読み込み
  • LINQ (言語統合クエリ) を使用した厳密に型指定されたクエリの変換
  • 次などのサポートを含む、豊富なマッピング機能があります。
    • 一対一、一対多、および多対多のリレーションシップ
    • 継承 (Table-Per-Hierarchy、Table-Per-Type、Table-Per-Concrete-lass)
    • 複合型
    • ストアド プロシージャ
  • エンティティ モデルを作成するビジュアル デザイナー。
  • コードを記述することにより、エンティティ モデルを作成する "Code First" エクスペリエンス。
  • モデルは既存のデータベースから生成し手作業で編集するか、最初から生成して新しいデータベースの作成に使用できます。
  • ASP.NET を含む .NET Framework アプリケーション モデルとの統合および、WPF と WinForms を介したデータ バインド。
  • ADO.NET に基づくデータベース接続、および SQL Server、Oracle、MySQL、SQLite、PostgreSQL、DB2 などへの接続に使用可能な多数のプロバイダー

EF6 または EF Core のどちらを使用すべきか

EF Core は、EF6 と非常によく似た機能およびメリットを持つ、Entity Framework の最新の簡易拡張バージョンです。 EF Core は完全に書き直されたもので、EF6 にはない機能が多数含まれています。ただし、EF6 にある最も高度ないくつかのマッピング機能は含まれていません。 機能セットが要件に合う場合は、新しいアプリケーション内で EF Core を使用することを検討してください。 「EF Core と EF6 を比較する」ではこの選択についてより詳しく検証しています。

作業の開始

EntityFramework NuGet パッケージをプロジェクトに追加するか、Entity Framework Tools for Visual Studio をインストールします。 次いでビデオを見たり、チュートリアルやより高度なドキュメントを読み、EF6 を最大限に活用できるようにします。

過去の Entity Framework のバージョン

これは、Entity Framework 6 の最新バージョン用のドキュメントですが、ほとんどが過去のリリースにも当てはまります。 EF のすべてのリリース一覧およびそれらによって導入された機能については、「What's New」 (新機能) と「Past Releases」 (以前のリリース) を参照してください。