ASP.NET - 仅使用部分域模型的视图模型

时间:2014-03-14 18:37:12

标签: asp.net-mvc entity-framework model viewmodel

当我想使用视图模型并希望包含有关我的域模型中存在的实体的数据时,最佳操作方法是什么,但我不想包含域中的所有内容模型。我想到了3种可能性,哪一种最适合?我在VS 2013中使用MVC 4。

  1. 只是实现我想在视图模型中使用的特定属性并映射它们? (我觉得这很糟糕,因为当有一个简化域模型的数组时,它会更难以循环遍历数组,因为属性是不相关的)

  2. 添加另一个映射到域模型的视图模型,只显示这些特定属性? (这也很糟糕,因为它会从视图中分离视图模型,因为突然出现没有相应视图的视图模型)

  3. 添加另一个只包含特定属性的模型,并将其包含在我的视图模型中? (我的模型是用EF 5.0自动生成的,所以我宁愿不要弄乱模型的结构)

  4. 只需包含整个域模型并节省开销?

  5. 我还没有想到的任何其他可能性?

1 个答案:

答案 0 :(得分:0)

我决定在我的视图模型中使用内部类,仅表示我实际想要使用的域模型的那些属性。然后我可以将域模型映射到内部类模型,并且它工作得很好。

在这种情况下,我仍然不确定什么是“最佳做法”,如果这样的事情存在于那么简单的任务中。