Я был использован для украшения классов модели данных с атрибутами аннотации данных, но пурист во мне немного близок к включению чисто презентационных атрибутов, таких как формат отображения здесь. Тем не менее, я очень счастлив сохранить здесь атрибуты валидации. Одна хорошая причина, по которой я должен продолжать хранить все аннотации и т.д. В модели данных, заключается в том, что моя модель представления объединяет классы модели данных, например. my ViewModelBase.DetailItem<TEntity>
свойство в модели представления - это просто ссылка на класс сущности в моей модели данных. Если бы я хотел перенести презентационные аннотации в модель представления, мне пришлось бы радикально пересмотреть мой проект до того, где я дублирую свойства модели данных в своей модели представления и использую инструмент сопоставления объектов для заполнения объектов модели модели на основе объектов модели данных.
Где я должен делать аннотации моих данных?
Просто BTW, вот что выглядит мой черновик ViewModelBase
:
public class ViewModelBase<T>
{
public virtual string PageTitle { get; set; }
public virtual string ViewHeading { get; set; }
public virtual ViewMode ViewMode { get; set; }
public virtual IEnumerable<T> ItemList { get; set; }
public virtual T DetailItem { get; set; }
}