我有一个Catalog
EF 实体,我在元数据类中进行了装饰,如下所示:
public partial class Catalog
{
[Editable(false)]
[Display(ResourceType = typeof(Resources), Name = "ID")]
public string ID { get; set; }
[Required()]
[MaxLength(300)]
[Display(ResourceType = typeof(Resources), Name = "CatalogName")]
public string CatalogName { get; set; }
}
当我将它暴露给 Razor 视图时,这些值会正确显示。但是,我想这样使用视图模型:
public class CatalogViewModel
{
private readonly Catalog _catalog;
// I want the attributes for Catalog.CatalogName to apply here.
public String CatalogName
{
get { return _catalog.CatalogName; }
}
}
我希望能够在视图模型上使用来自实体的验证和显示信息。但是,我无权访问该类型Resources
。有没有办法我可以以某种方式将这些信息从模型投影到视图模型?
编辑:
业务层验证在实体上进行注释。我想保持这种方式,以便验证和显示信息位于一个位置。我还为每个视图使用 1 个视图模型的模式。因此,在此处添加注释会以我试图避免的方式违反 DRY。