0

有沒有辦法在視圖模型中使用實體的DisplayAttribute值?重複使用DisplayAttributes與視圖模型屬性

public partial class Catalog 
{ 
    [Display(ResourceType = typeof(Resources), Name = "ID")] 
    public string ID { get; set; } 

    [Display(ResourceType = typeof(Resources), Name = "CatalogName")] 
    public string CatalogName { get; set; } 
} 

public class CatalogViewModel 
{ 
    private readonly Catalog _catalog; 

    // I want reuse Catalog.CatalogName's display values. 
    public String CatalogName 
    { 
    get { return _catalog.CatalogName; } 
    } 
} 

我不能從視圖模型訪問資源。

回答

0

通常情況下,您不會在視圖模型中使用域對象。 解釋爲什麼它不是一個好的做法(儘管它在功能上會起作用)是here。 你需要做的是從字符串和整數(基元) 定義你的視圖模型,並使用像AutoMapper之類的東西來映射它們之間的映射。在現實生活中,很少有一個域模型可以一對一地查看模型,典型的視圖模型是針對特定的視圖進行量身定製的,該模型包含來自多個表的所有必需信息。

回到你的問題:(使用fluent validationdata annotation

希望這有助於具有根據我剛纔所描述的,你當然可以(也應該)定義所有的註釋和驗證的最佳實踐定義視圖模型,請讓我不知道。

相關問題