当使用 MVC 并将您的数据转换为 ViewModel 时,哪种方式是可接受的?
目前我正在使用 AutoMapper 来执行此操作并且运行良好。但是我确实在一篇博客文章中看到(我认为是 Rob C)在 ViewModel 上有一个构造函数,它接受所需参数的数量,然后生成 ViewModel
例如 var RetViewModel = new ViewModel(MyObject);
这似乎是一种不错的方式,想法?
最佳答案
“公认的方式”通常是最适合您的方式。
我从未听说过 AutoMapper,当我研究它时,我得到的是它通过遵循特定约定创建神奇的对象映射。
截屏地址:http://www.dnrtv.com/default.aspx?showNum=155
注意:我只看了大约一半的截屏视频,所以我对 AutoMapper 的看法有些不完整。
我个人不想使用它,因为它需要我编写额外的代码来映射/“展平”对象属性(代码,IMO,最好留在构造函数逻辑中)。在截屏视频示例中,该代码通常放在 Controller 的操作方法中,这会导致膨胀。(我喜欢瘦 Controller /操作)
我使用您在帖子中提供的方法,让模型的构造函数获取一个对象并完成所有工作。
此外,我总是创建一个不带参数的空构造函数,以便我可以手动设置 ViewModel 对象的属性值。
例子:
CustomViewModel myModle = new CustomViewModle
{
Property1 = "Something",
Property2 = 3,
//etc..
};
总而言之,尝试两种方式,看看哪种方式适合您。 AutoMapper 是一个好主意,我可以看到它在很多情况下都有帮助,但是,我认为在某些时候,当您使用它时,您将使用它编写与使用对象构造函数一样多的代码。
关于c# - 查看模型 Asp.Net MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1824949/