エンティティフレームワーク-DEVアプローチ
この章では、DesignerまたはDatabase Firstを使用するか、CodeFirstを使用してモデルを構築することに焦点を当てましょう。以下は、選択するモデリングワークフローを決定するのに役立ついくつかのガイドラインです。
コードファーストモデリング、データベースファーストモデリング、モデルファーストモデリングワークフローの例はすでに見てきました。
データベースファーストとモデルファーストのワークフローではDesignerを使用しましたが、1つはデータベースから開始してモデルを作成し、もう1つはモデルから開始してデータベースを作成します。
Visual Designerとコード生成を使用したくない開発者のために、EntityFrameworkにはCodeFirstと呼ばれるまったく異なるワークフローがあります。
Code Firstの一般的なワークフローは、データベースすら持っていないまったく新しいアプリケーションに最適です。クラスとコードを定義してから、CodeFirstにデータベースの外観を理解させます。
データベースからCodeFirstを開始することも可能であり、CodeFirstは少し矛盾します。ただし、データベースをクラスにリバースエンジニアリングできるツールがあります。これは、コーディングをすぐに開始するための優れた方法です。
これらのオプションを前提として、ディシジョンツリーを見てみましょう。
生成されたコードでビジュアルデザイナを使用する場合は、EFデザイナを含むワークフローの1つを選択することをお勧めします。データベースがすでに存在する場合は、データベースファーストがパスです。
データベースのない新しいプロジェクトでビジュアルデザイナを使用する場合は、モデルファーストを使用することをお勧めします。
デザイナではなくコードのみを操作したい場合は、データベースをクラスにリバースエンジニアリングするツールを使用するオプションとともに、コードファーストがおそらく適しています。
既存のクラスがある場合、最善の策はそれらをCodeFirstで使用することです。