9

MVC3 と EF4.1 の焦点のほとんどは「コード ファースト」にあるようです。次の基準を満たす例やチュートリアルが見つからないようです。

  • 既存の SQLServer データベースを使用する
  • Web とデータ アクセス用に別々のプロジェクトがあります (複数の Web アプリが同じデータ アクセス クラスを共有します)。
  • 検証の推奨事項

そのような例やチュートリアルは存在しますか? これを達成する方法について文書化された「ベストプラクティス」、またはこのように構成されたソリューションを持たない理由はありますか?

4

1 に答える 1

5

これは非常に一般的なシナリオであり、マッピングに EDMX ファイルを使用するか、コードでマッピングを定義するかによって異なります (コードが最初のように)。

どちらのシナリオも、最初にデータベースとして実行できます

  • Visual Studio のビルド EF ツールを使用して既存のデータベースから EDMX を作成し、DbContext T4 ジェネレーター テンプレートを使用して POCO クラスと DbContext 派生クラスを取得します。
  • EF Power Tools CTPをダウンロードし、そのリバース エンジニアリング機能を使用して、コード マッピング、POCO クラス、およびコンテキストを生成します。

これらのアプローチはどちらもデータ注釈を追加しません。非常に単純なアプリケーションを実行している場合を除き、エンティティのデータ注釈をクライアントの検証に使用しないでください (これは悪い習慣です)。通常、ビューにはより高度な期待があり、ビューでの検証はエンティティでの検証とは異なる場合があります。たとえば、挿入ビューと更新ビューでは異なる検証が必要になる可能性があり、エンティティの単一セットのデータ注釈でそれを実行することはできません。そのため、検証用のデータ アノテーションを特殊なビュー モデルに移動し、エンティティをビュー モデルに、またはその逆に変換する必要があります ( AutoMapperを使用してこれを簡素化できます)。

とにかく、バディ クラスを介して生成されたクラスにデータ注釈を追加することは可能ですが、前述のように、それは良い方法ではありません。

于 2011-07-05T16:07:11.977 に答える