Я бизнес-модель, названная Product
и Category
, как показано ниже, в которой я добавляю валидации:Что должно быть в моих моделях?
public class Product
{
public int ProductId {get; set;}
[Required]
[StringLength(25)]
public string Name {get; set;}
public string Description {get; set;}
public int CategoryId {get; set;}
}
public class Category
{
public int CategoryId {get; set;}
public string Name {get; set;}
}
Для модели представления я создал что-то вроде этого:
public class ProductViewModel
{
public Product Product {get; set;}
public IList<Category> Categories {get; set;}
}
Моего друг предложил сохранить все проверки в модели представления и отображение всех свойств бизнес-модели в модели вида следующим образом:
public class ProductViewModel
{
public int ProductId {get; set;}
[Required]
[StringLength(25)]
public string Name {get; set;}
public string Description {get; set;}
public int CategoryId {get; set;}
public IList<SelectListItem> CategoryDropdownValues {get; set;}
}
Я спросил его о преимуществах этого подхода к вышеупомянутому, он был не очень уверен. Но он настаивал на том, что вы не должны использовать бизнес-модели непосредственно в своих взглядах и что только модели просмотра должны быть проверены.
Мои вопросы:
- Должен ли я сохранить свою логику проверки в поле зрения модели или бизнес-модели?
- Плохо ли, что модели просмотра зависят от бизнес-моделей?
Самый низкий? Как в модели бизнес-модели или вида? –
Бизнес-модель. – iefpw