Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 将MVVM应用于ASP.NET MVC。如何进行属性映射?_Asp.net Mvc 3_Entity Framework_Mvvm_Mapping - Fatal编程技术网

Asp.net mvc 3 将MVVM应用于ASP.NET MVC。如何进行属性映射?

Asp.net mvc 3 将MVVM应用于ASP.NET MVC。如何进行属性映射?,asp.net-mvc-3,entity-framework,mvvm,mapping,Asp.net Mvc 3,Entity Framework,Mvvm,Mapping,有很多关于在ASP.NETMVC中使用MVVM模式的文章。例如,它是 我只有一个问题。一个模型有很多视图模型。如何使用viewModel对象自动填充模型属性?如何进行自动属性映射 我使用实体框架 例如,我有具有以下属性的模型测试: 身份证 名字 头衔 用户 艾迪公司 我为我的任务制作了ViewModel。此ViewModel(TestUserViewModel)用于具有以下属性的简单用户: -身份证 -名字 -头衔 例如,用户可以编辑现有测试。因此,我们有一个类型为TestUserViewM

有很多关于在ASP.NETMVC中使用MVVM模式的文章。例如,它是

我只有一个问题。一个模型有很多视图模型。如何使用viewModel对象自动填充模型属性?如何进行自动属性映射

我使用实体框架

例如,我有具有以下属性的模型测试:

  • 身份证
  • 名字
  • 头衔
  • 用户
  • 艾迪公司
我为我的任务制作了ViewModel。此ViewModel(TestUserViewModel)用于具有以下属性的简单用户: -身份证 -名字 -头衔

例如,用户可以编辑现有测试。因此,我们有一个类型为TestUserViewModel的对象。我想:

  • 同步模型对象和视图模型
  • 保存从当前ViewModel中排除的idCompany、idUser-for属性的默认值
  • 使用一些自动的东西-它可能类似于ApplyCurrentValues。我真的不想写太多以下代码:

    modelObj.name=viewModelObj.name;
    modelObj.title=viewModelObj.title;
    
使用System.Reflection进行此操作看起来也很糟糕


那么,如何做到这一点呢?

如果您不想编写大量从一个对象到另一个对象的映射代码,您可能需要研究像AutoMapper这样的映射工具


话虽如此,正如@Darin Dimitrov指出的,您也应该检查您的体系结构。如果您正在学习ASP.NETMVC,您应该更加熟悉MVC而不是MVVM。当您阅读更多关于如何使用MVC的内容时,您将开始了解“viewModels”的使用。请记住,MVC中的这些“视图模型”与“MVVM”中的“VM”无关。

MVVM不是ASP.NET MVC的好模式,而MVC是更好的模式。你读过那篇博文吗?这是一场悲剧。CSS在网页中,一半的代码样本是行号,一半不是。。。我不会接受那些懒得花五分钟清理工作的人的任何建议。是的,那篇文章不利于阅读。是的,据我所知,这只是术语上的问题。它在这里命名为MVVM-。也许,它的名字不正确。事实上,我认为你引用的博客文章把MVVM和ViewModels的概念搞错了。《华盛顿邮报》(Charles Vallance)的一条评论指出了这一点。这篇博文的作者似乎以迂回的方式承认了这一点,但从未更新过原始博文。哦,好吧。。。