エンティティフレームワーク-コードファーストアプローチ

Entity Frameworkは、エンティティモデルを作成するための3つのアプローチを提供し、それぞれに長所と短所があります。

  • コードファースト
  • データベースファースト
  • モデルファースト

この章では、コードファーストのアプローチについて簡単に説明します。コードでDesignerを使用することを好む開発者もいれば、コードを使用することを好む開発者もいます。これらの開発者向けに、EntityFrameworkにはCodeFirstと呼ばれるモデリングワークフローがあります。

  • コードファーストモデリングワークフローは、存在しないデータベースを対象とし、コードファーストがデータベースを作成します。

  • 空のデータベースがある場合にも使用でき、CodeFirstが新しいテーブルをデータベースに追加します。

  • Code Firstを使用すると、C#またはVB.Netクラスを使用してモデルを定義できます。

  • オプションで、クラスとプロパティの属性を使用するか、FluentAPIを使用して追加の構成を実行できます。

なぜコードファーストなのか?

  • コードファーストは、実際にはパズルのピースのセットで構成されています。まず、ドメインクラスです。

  • ドメインクラスは、EntityFrameworkとは何の関係もありません。それらはあなたのビジネスドメインの単なるアイテムです。

  • したがって、Entity Frameworkには、これらのクラスとデータベース間の相互作用を管理するコンテキストがあります。

  • コンテキストはCodeFirstに固有のものではありません。これはEntityFrameworkの機能です。

  • Code Firstは、コンテキストが管理しているクラスを検査するモデルビルダーを追加し、次に一連のルールまたは規則を使用して、それらのクラスと関係がモデルをどのように記述し、そのモデルをデータベースにマップするかを決定します。

  • これはすべて実行時に行われます。あなたはこのモデルを見ることは決してないでしょう、それはただ記憶の中にあります。

  • Code Firstには、必要に応じてそのモデルを使用してデータベースを作成する機能もあります。

  • また、コードファーストマイグレーションと呼ばれる機能を使用して、モデルが変更された場合にデータベースを更新することもできます。

環境設定

EF Code Firstアプローチの使用を開始するには、次のツールをシステムにインストールする必要があります。

  • Visual Studio 2013(.net Framework 4.5.2)以降のバージョン。
  • MS SQL Server2012以降。
  • NuGetパッケージを介したエンティティフレームワーク。

NuGetパッケージを介してEFをインストールします

Step 1 −まず、[ファイル]→[新規]→[プロジェクト…]からコンソールアプリケーションを作成します。

Step 2 −左側のペインから[Windows]を選択し、テンプレートペインから[コンソールアプリケーション]を選択します。

Step 3 −名前としてEFCodeFirstDemoを入力し、[OK]を選択します。

Step 4 −ソリューションエクスプローラーでプロジェクトを右クリックし、[NuGetパッケージの管理...]を選択します。

これにより、NuGetパッケージマネージャーが開き、EntityFrameworkが検索されます。これにより、EntityFrameworkに関連するすべてのパッケージが検索されます。

Step 5− EntityFrameworkを選択し、[インストール]をクリックします。または、[ツール]メニューから[NuGetパッケージマネージャー]をクリックし、[パッケージマネージャーコンソール]をクリックします。パッケージマネージャーコンソールウィンドウで、次のコマンドを入力します:Install-PackageEntityFramework。

インストールが完了すると、出力ウィンドウに「EFCodeFirstDemoに「EntityFramework6.1.2」が正常にインストールされました」というメッセージが表示されます。

インストール後、次の画像に示すように、EntityFramework.dllがプロジェクトに含まれます。

これで、コードファーストアプローチに取り掛かる準備が整いました。