在哪里使用实体和ViewModel

时间:2013-07-22 14:03:02

标签: asp.net-mvc entity-framework asp.net-mvc-4

在MVC应用程序中,数据库实体应限制在哪里。它们显然应该在数据层中使用,但它们是否应该在业务/服务层中使用/返回?那么ViewModels呢?他们的使用应该限制在哪里?是否还有其他模型应限制其范围?

1 个答案:

答案 0 :(得分:1)

根据我的理解,这取决于您的申请范围。如果您有一个简单的用法,您可以将实体返回到业务层,比如说您在视图中使用了实体类的所有属性。

假设您有一个复杂的模型,您希望在视图中使用不同实体的组合,那么您可以使用视图模型。在后一种情况下,您将所有数据保存到数据访问层中的视图模型中,并将视图模型返回到业务层,或者您可以将模型放入业务层并将其保存到此级别的视图模型中并返回到控制器操作方法。但控制器动作方法最终应该得到视图模型。