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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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