2012-07-11 54 views
0

我想通過驗證的屬性必須在C#中有[Required]屬性 (對不對?) 如果so -my模型是linq生成的類 - 如何添加此屬性?未能得到不引人注意的客戶端驗證

+0

看看像Automapper的工具。您可以自動將您的域模型映射到您可以在其上執行驗證的視圖模型。您通常不希望向用戶展示域模型。 https://github.com/AutoMapper/AutoMapper – Saedeas 2012-07-11 17:21:36

回答

1

你能做到幾個方面:

  • 如果可能,使字段不可爲空的數據庫。這將使數據層需要該字段。

  • 創建一個將屬性添加到模型類的部分類。使用此屬性而不是數據庫生成的屬性。

例如:

public partial class YourEntity 
{ 
    [Required] 
    public string YourNewProperty 
    { 
     get { return this.TheRealProperty; } 
     set { this.TheRealProperty = value; } 
    } 
} 

希望這有助於

0

好吧,您可以隨時創建一個新類,作爲數據訪問層的一部分,具有相同的屬性,只需將[required]放在需要的位置即可。

0

我相信你的LINQ類是partials。在MVC中,你可以使用「MetatDataTypeAttribute

像這樣

[MetadataType(typeof(UserMetadataSource))] 
public partial class User { 

} 

class UserMetadataSource { 
    [HiddenInput(DisplayValue = false)] 
    public int UserId { get; set; } 

}