Я пытаюсь понять ViewModels глубже, и я прочитал много статей и блогов относительно ViewModel в MVC. В некоторых статьях говорится, что модель не должна ссылаться на ViewModel, но в некоторых других статьях предлагается использовать модель в качестве члена viewmodel.Модель в виде ViewModel
Давайте возьмем пример, когда мне нужно создать ViewModel на основе модели. Я мог бы возможно сделать это двумя способами:
public class Car
{
public int Year {get;set;}
public string Make {get;set;}
//more properties......
}
public class CarViewModel
{
public CarViewModel(Car model)
{
Model = model;
}
public Car Model { get; set; }
//additional view model specific properties
}
Или 2.
public class Car
{
public int Year {get;set;}
public string Make {get;set;}
//more Car properties......
}
public class CarViewModel
{
public int Year {get;set;}
public string Make {get;set;}
//more Car properties......
//additional view model specific properties
}
Я просто интересно, какой из них правильный способ создания ViewModel. Или есть другой способ сделать это вообще?
Спасибо @Mark !! Я заключил, что: Создать оболочку ViewModel, если представление нуждается в дополнительной информации, чем содержится в модели, и создать новый класс ViewModel, если для представления требуется меньшее количество свойств модели? –
Еще одна вещь заключается в том, что вы должны создать модель представления, когда у вас есть модели, созданные Entity Framework, LinqToSql и т. Д. Без использования моделей просмотра и при непосредственном использовании этих классов у вас появятся проблемы, такие как исключение сериализации и другие вещи из-за наличия ленивой загрузки/круговые ссылки, поэтому в этих случаях также следует использовать модели просмотра. – VJAI
Отлично! это имеет смысл. Большое спасибо. –