0

私の理解から。EF の Database First パターン。テンプレートによってエンティティ クラスのコードを生成できます。T4 テンプレート、DbContext ジェネレーター テンプレートなど。ただし、Designer.cs ファイルでも同じエンティティ クラス定義を見つけることができます。これが私の質問です。

  1. EF コード ジェネレーターの目的は何ですか? Designer.cs ファイルには、適切に定義されたエンティティ クラスがすべて含まれています。エンティティ クラス コードを 1 つずつ生成する必要がありますか?

  2. EF にはいくつのテンプレートがありますか? それらの違いは何ですか?

4

1 に答える 1

0

EF パワー ツールを使用すると、既存のデータベースのコード ファースト エンティティを生成できます。

データベース ファースト (EDMX) アプローチとは対照的にこれを使用する理由は、今後はコード ファーストを使用してデータベースの更新を管理したいからです。これは、データベースに直接変更を加えてから EDMX を更新するのではなく、EF 移行を使用できることを意味します。

データベースからコード ファイルを生成する他のアプリに関しては、すべての EF メソッドが最終的にコードを生成しますが (最初にコードを生成するだけではありません)、生成されたクラスを制御できるのは最初にコードのみです (ただし、EDMX 生成で部分クラスを使用することはできます)。モデルとデータベースの最初のメソッドは、モデル/データベースの変更に応じてクラスを再生成することに依存しています。

私の知る限り、EF パワー ツールは、既存のデータベースからコード ファースト モデルを生成するための最良の方法 (そして唯一の Microsoft の方法) です。

于 2012-07-19T02:50:22.790 に答える