1

MVC と POCO を使用した検証のベスト プラクティスに関する質問があります。私が知る限り、ベスト プラクティスは、POCO をミラーリングする ViewModel を用意し、AutoMapper などを使用して、ViewModel (ビュー モデル) が検証された後に、ViewModel を POCO に解析することです。

それはすべてうまくいっていますが、POCO から継承し、View Model で検証したいプロパティのみを上書きすることに問題があるかどうか疑問に思っていますか?

ポコ:

public partial class Sector
    {
        public virtual int SectorId { get; set; }

        public virtual string Name { get; set; }
    }

私のViewModelは次のようになります。

public class SectorDTO : Sector
    {
         [Required]
         [StringLength(10)]
         public override string Name {get; set;}
    }

アップデート

このソリューションは、主にビジネスレイヤーとデータレイヤーのセットアップ方法が原因で機能しなくなりました。私の解決策は、代わりに、すべての検証を含む DTO を含む ViewModel を作成し、AutoMapper を使用してオブジェクトを POCO タイプに戻すことでした。

4

1 に答える 1

0

私は以下が好きでした:

public partial class SectorMetaData
{
    [Required(ErrorMessage="Required Filed")]
    public int SectorId{ get; set;}
    [Required(ErrorMessage="Required Filed")]
    public string Name{get; set;}

}

[MetadataType(typeof(SectorMetaData))]
public partial class Sector
{
    public int SectorId{ get; set;}
    public string Name{get; set;}
}

このクラスは、POCOクラスと同じ名前空間である必要があります。お役に立てれば!

于 2012-07-31T12:45:35.960 に答える