我应该考虑只包含扁平和基本类型的ASP.NET MVC视图模型,还是应该包含复杂的Core/Domain模型类型?
我正在寻找最佳实践。
谢谢。
我应该考虑只包含扁平和基本类型的ASP.NET MVC视图模型,还是应该包含复杂的Core/Domain模型类型?
我正在寻找最佳实践。
谢谢。
做有意义的事情。
没有权威的来源告诉你使用原始类型的ViewModel会杀死小猫,因为他们是错误的。对于每一个专家都告诉你使用带有魔术字符串的ViewData是完全可以的,也会有纯粹主义者告诉你强类型对象是唯一的选择。
我编写从数据库读取数据并在网页中显示数据的应用程序。我尝试过两种方法(使用ViewData和使用ViewModel对象),当我有一个ViewModel对象来投影到网页中时,我最满意。如果需要,ViewModel类是封装验证和视图逻辑的地方,并提供我喜欢的数据结构和强类型。
如果我只想显示我的Linq to SQL类之一的记录,并且我不需要额外的下拉数据列表等附加功能,我可能会直接使用Linq to SQL对象。但如果我确实有额外的东西,我就把所有东西放入ViewModel类中,并将该ViewModel实例(或其IEnumerable或IQueryable)投影到视图中。
所以我很少使用ViewData,但这只是我的风格。如果需要,它还是很好知道它仍然存在。