ASP.NET MVC ViewModel关注

Yoa*_*. B 4 c# asp.net-mvc

我应该考虑ASP.NET MVC ViewModels只包含flat和primitypes类型,还是应该包含复杂的Core/Domain模型类型?

我正在寻找最佳实践.

谢谢.

Rob*_*vey 6

做有意义的事情.

没有权威的消息来源告诉你,使用带有原始类型的ViewModel会杀死小猫,因为它们会出错.对于那些告诉你使用带有魔术字符串的ViewData的每个专家都是完全可以的,那里会有纯粹主义者告诉你强类型对象是唯一的方法.

我编写从数据库读取的应用程序并在网页中显示数据.我已经尝试了两种方式(使用ViewData和使用ViewModel对象),当我有一个ViewModel对象投射到网页时,我感到最开心.ViewModel类是一个封装诸如验证和视图逻辑之类的东西,如果我需要它,它提供了我喜欢的数据结构和强类型.

如果我只想显示从我的一个Linq到SQL类的记录,并且我不需要诸如下拉数据列表之类的额外内容,我可能会直接使用Linq to SQL对象.但是,如果我有额外的东西,我将所有内容放入ViewModel类,并将ViewModel实例(或IEnumerable或IQueryable)投影到视图中.

所以我很少使用ViewData,但这只是我的风格.很高兴知道如果我需要它它仍然存在.