我一直在做一些关于在一个相当大的项目中结合使用ASP.NET和实体框架的研究。大多数示例通过将.edmx文件从MVC项目中分离出来,将其移动到新的DAL项目中。在这个项目中,您还可以找到存储库和接口。
虽然这种方法对我来说很有意义,但有一件事我似乎搞不懂: MVC中的模型怎么办?在大多数示例中,控制器直接处理来自DAL项目的存储库接口,因此不再使用MVC模型?或者继续使用它们,但在控制器中映射它们是不是一个好主意?
发布于 2012-05-22 17:05:53
有两种类型的模型:
域模型表示您的域实体。它们可以是从您的数据库中自动生成的EF类,也可以来自其他地方,例如您正在使用的WCF服务生成的代理。它们应该位于您的域层中。
另一方面,视图模型位于ASP.NET MVC项目的Models文件夹中。这些是您为每个视图定义的特定类。控制器操作将查询您的DAL层,以获取一个或多个域模型,并实例化一个视图模型,该模型是您为要从该控制器呈现的给定视图专门定义的。因此,一个视图模型可以包含来自多个域模型的信息(因为在给定的视图中,您需要所有这些信息)。然后,控制器将视图模型传递给视图进行显示。
https://stackoverflow.com/questions/10698884
复制相似问题