MVC3で焦点とEF4.1のほとんどが「最初のコード」の周りにあるようだ - 私は、次の基準を満たす任意の例やチュートリアルを見つけることができないよう:MVC3とEFデータ:ベストプラクティスは何ですか?
- は、既存のSQLServerデータベースを使用しています
- は
は、このような例やチュートリアルが存在するか確認のために
MVC3で焦点とEF4.1のほとんどが「最初のコード」の周りにあるようだ - 私は、次の基準を満たす任意の例やチュートリアルを見つけることができないよう:MVC3とEFデータ:ベストプラクティスは何ですか?
は、このような例やチュートリアルが存在するか確認のために
これは非常に一般的なシナリオであり、マッピングにEDMXファイルを使用するか、コードでマッピングを定義する(コードを最初に使用する)かどうかによって異なります。
両方のシナリオは、あなたは、Visual StudioのEFツールでビルドして既存のデータベースからEDMXを作成し、あなたがPOCOクラスとDbContext派生クラスを取得するにはDbContext T4ジェネレータテンプレートを使用するデータベース最初
ためのコードマッピング、POCOクラスおよびコンテキストを生成するために、そのリバースエンジニアリング機能を使用しますns。エンティティのデータ注釈は、非常に簡単なアプリケーションを実行していない限り、クライアントの検証には使用しないでください(悪い方法です)。通常、ビューにはさらに高度な期待があり、ビューでの検証はエンティティごとに異なる場合があります。たとえば、挿入ビューと更新ビューでは異なるバリデーションが必要な場合があり、エンティティ上の単一データアノテーションセットでは実行できません。そのため、検証のために特殊なビューモデルにデータ注釈を移動し、エンティティをビューモデルに変換したり、その逆にする必要があります(これを簡略化するためにAutoMapperを使用できます)。
とにかく、バディークラスを介してpossible to add data annotations to generated classesですが、それは良い習慣ではありません。
エンティティデータアノテーションについては、両方とも同意し、同意しません。単純な制約や長さとnullの可能性については、エンティティクラスのデータアノテーションは受け入れられると思います。それ以外の場合は、アンチパターンである貧血ドメインモデル(http://martinfowler.com/bliki/AnemicDomainModel.html)を作成しました。合意されたビューモデルは、より複雑なビジネスシナリオを持ち、より複雑な検証要件を持つ必要があります。 – Jeff
edmxはWebプロジェクトの一部ですか、それとも独自のクラスライブラリですか?私は貧血ドメインモデルを避けたいので、検証のための注釈を削除する質問を更新しました。 – chris
私は別のクラスライブラリを使用します。 – Jeff