エンティティフレームワーク-コードファーストアプローチ
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がプロジェクトに含まれます。
これで、コードファーストアプローチに取り掛かる準備が整いました。