これは非常に一般的なシナリオであり、マッピングに EDMX ファイルを使用するか、コードでマッピングを定義するかによって異なります (コードが最初のように)。
どちらのシナリオも、最初にデータベースとして実行できます
- Visual Studio のビルド EF ツールを使用して既存のデータベースから EDMX を作成し、DbContext T4 ジェネレーター テンプレートを使用して POCO クラスと DbContext 派生クラスを取得します。
- EF Power Tools CTPをダウンロードし、そのリバース エンジニアリング機能を使用して、コード マッピング、POCO クラス、およびコンテキストを生成します。
これらのアプローチはどちらもデータ注釈を追加しません。非常に単純なアプリケーションを実行している場合を除き、エンティティのデータ注釈をクライアントの検証に使用しないでください (これは悪い習慣です)。通常、ビューにはより高度な期待があり、ビューでの検証はエンティティでの検証とは異なる場合があります。たとえば、挿入ビューと更新ビューでは異なる検証が必要になる可能性があり、エンティティの単一セットのデータ注釈でそれを実行することはできません。そのため、検証用のデータ アノテーションを特殊なビュー モデルに移動し、エンティティをビュー モデルに、またはその逆に変換する必要があります ( AutoMapperを使用してこれを簡素化できます)。
とにかく、バディ クラスを介して生成されたクラスにデータ注釈を追加することは可能ですが、前述のように、それは良い方法ではありません。