Model view controller MVC-模型-视图模型结构

Model view controller MVC-模型-视图模型结构,model-view-controller,Model View Controller,快速提问,环顾四周,情况似乎是这样,但对我来说,这有点像代码复制,我认为这是浪费时间 这是我的模型层中的一个对象,所以在我的MVC项目之外,将所有对象分离在一起 public class MyObject { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string EmailAddress

快速提问,环顾四周,情况似乎是这样,但对我来说,这有点像代码复制,我认为这是浪费时间

这是我的模型层中的一个对象,所以在我的MVC项目之外,将所有对象分离在一起

public class MyObject
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string EmailAddress { get; set; }
}
但是,在我的MVC项目中,我应该有一个ViewModel类

public class MyObjectViewModel
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string EmailAddress { get; set; }
}
它最终保存了完全相同的数据,显然我可以使用某种映射器在两者之间映射数据,但这看起来不是重复吗?我一定错过了什么

干杯,
D

视图模型,顾名思义,它只是您的模型以其他形式的另一种表示形式。其概念是为模型提供用于渲染的不同视图。这样想,如果您有一个类别模型和一个图片模型,并且需要在视图中渲染它们以创建新记录。有两种方法可以处理此问题:一种方法是将一个模型作为参数传递,并在ViewBag字典中保留另一个模型,另一种方法(首选方法)是创建视图ViewModel,如下所示,将两个实体合并到一个模型中

public class CatPicView
{
    public Category Category { get; set; }
    public Picture Picture { get; set; }
}

因此,一个视图模型可以包含其中的实际模型,而不是克隆所有的东西,这是可以接受的。是的,事情就是这样。您总是这样做,而不是自己重复模型代码访问此链接以更好地理解:-@DeanThomas,很高兴知道我可以帮忙!!祝你好运!!