В моем приложении MVC я определил DataAnnotations в моделях домена. Хотя свойства DataAnnotations как Display и т. Д. Могут быть получены при использовании модели Domain, они не могут быть получены при использовании тех же свойств в ViewModel и с использованием этой ViewModel. Я думаю, что не совсем хорошо определить DataAnnotations в ViewModel снова. Итак, возможно ли, или каким образом я должен следовать?Можно ли повторно использовать DataAnnotes в ViewModel?
домена Модель:
public class Issue
{
[Key]
public int ID { get; set; }
[Required(ErrorMessage = "Required")]
[Display(Name = "Project Number")]
public int ProjectID { get; set; }
[Required(ErrorMessage = "Required")]
[Display(Name = "Issue Definition")]
public string Description { get; set; }
//... removed for brevity
//Navigation Properties:
public virtual ICollection<FileAttachment> FileAttachments { get; set; }
}
ViewModel:
public class IssueViewModel
{
public int ID { get; set; }
public int ProjectID { get; set; }
public string Description { get; set; }
//... removed for brevity
//Navigation Properties:
public virtual ICollection<FileAttachment> FileAttachments { get; set; }
}
Вы можете использовать прокси-класс для повторного использования аннотаций данных - это было сделано, чтобы разрешить ручные аннотации к автоматически созданным типам моделей. – Richard
Вам необходимо определить их в модели представления. Но почему у вас когда-либо был атрибут '[Display]' (который как атрибут, специфичный для представления) в модели домена? –
@ Рихард: Не могли бы вы разместить пример PLS? –