将视图模型与域模型混合是否合理?
因此,视图模型对象包含一些域模型对象(不是相反的方式!)
答案 0 :(得分:8)
通常,您必须在视图模型中引用您的域模型,或者至少在控制器中加载域模型并将信息传递到您的视图模型。
我更喜欢将控制器和视图保持为尽可能简单/愚蠢,因为域模型和视图模型都更容易测试。
所以,我经常在View Models中引用我的Domain Models。有时我使用聚合,有时我只是复制属性(在一些项目中只使用普通的旧代码,在其他项目中使用自动映射器)
答案 1 :(得分:4)
我倾向于创建单独的视图模型,其中包含我需要在视图中显示的内容。 AutoMapper是一种创建工具,可以让您更轻松。