私は現在、自分自身の学習目的のための栄光のブログにすぎない最初の MVC プロジェクトに取り組んでいます。その時点でコードファーストが存在することさえ知らなかったので、データベースファーストのアプローチから始めました。そのため、検証をどのように処理する必要があるかについて、混乱が生じました。
データベースには、 EF によって生成された対応するクラスを持つテーブルArticles
があります。の各プロパティに一致するプロパティを持つクラスArticle
もあります。私は単純な CRUD 操作を行っていますが、現在、代わりに厳密に型指定されたモデルを使用しており、データの検証は行われていません。ArticleViewModel
Article
Article
ArticleViewModel
今日、私の選択肢を評価するためにいくつかの調査を行った後、次の 質問とこのブログ投稿を見つけました。そのため、EF で生成されたクラスに属性を適用してそこに検証を配置できるように見えますがMetadataType
、検証を含むバディ クラスは悪い習慣であると読み続けています。理由はわかりませんが、もしそうなら、バディクラスを無視して次のようなことをしなければならないということですか?
[MetadataType(typeof(ArticleViewModel))]
public partial class Article
{
public Article(ArticleViewModel avm)
{
// Copy the properties from the ArticleViewModel into an Article.
}
}
次に、必要に応じて ArticleViewModel に DataAnnotations を適用し、使用するコントローラー/ビューを更新しますArticleViewModel
か?
ご意見をお寄せいただきありがとうございます。:)