Asp.net

如何向我的 POCO(模板)類添加驗證

  • May 11, 2011

因此,我使用教程生成了我的 poco 類,我將在整個應用程序中使用這些類。問題是我不應該修改生成的 cs 文件,因為它們會自動重新生成……如何添加屬性,例如

$$ Required $$諸如此類的東西??請幫忙

您不能直接添加它(除非您修改 T4 模板為您創建它們),但您可以嘗試使用 ASP.NET 動態數據中引入的技巧。所有 POCO 類都被定義為部分的。所以讓我們定義你的部分:

using System.ComponentModel.DataAnnotations;

[MetadataType(typeof(MyClassMetadata))]
public partial class MyClass
{
 private class MyClassMetadata
 {
    [Required]
    public object Id;

    [Required]
    [StringLength(100)]
    public object Name;
 }
}

元數據類是僅保存元數據的特殊類型 - 它從不使用。欄位名稱必須與實際類中對應的欄位相同(欄位類型無所謂,可以使用object)。

無論如何,在 ASP.NET MVC 中,您應該為每個視圖使用專門的視圖模型並傳遞您需要的數據,以便將驗證屬性放置在視圖模型類中。

引用自:https://stackoverflow.com/questions/5128303