Asp.net mvc 4 ASP.NET MVC数据访问模式

Asp.net mvc 4 ASP.NET MVC数据访问模式,asp.net-mvc-4,Asp.net Mvc 4,这里有一位ASP.NETMVC初学者,他想了解一些正确模式的概述。我理解MVC的基本概念: 视图-显示从控制器接收的数据 控制器-响应ASP.NET请求以提供正确的视图 模型-处理数据库层 但是,我确实有一个问题,那就是哪一层应该与数据库对话(在这里使用实体框架)来检索数据。据我所知,模型层纯粹是为了表示数据库中的数据,然后可以在ViewModel中更好地表示数据,可以使用控制器将数据传递给视图。ViewModel是负责从EF(实体框架)获取数据还是控制器。。。还是模型 我认为我的主要混淆源是V

这里有一位ASP.NETMVC初学者,他想了解一些正确模式的概述。我理解MVC的基本概念:

视图-显示从控制器接收的数据 控制器-响应ASP.NET请求以提供正确的视图 模型-处理数据库层

但是,我确实有一个问题,那就是哪一层应该与数据库对话(在这里使用实体框架)来检索数据。据我所知,模型层纯粹是为了表示数据库中的数据,然后可以在ViewModel中更好地表示数据,可以使用控制器将数据传递给视图。ViewModel是负责从EF(实体框架)获取数据还是控制器。。。还是模型

我认为我的主要混淆源是ViewModel、Model和Controller之间的数据访问

如果有任何文章专门讨论这一点,任何链接都将非常感谢:)


谢谢

视图各不相同,但IMHO:对于简单的应用程序,控制器的操作方法可以进行DB交互,创建(视图)模型实例以传递给视图。对于较大的应用程序,控制器的操作只是协调一个域层,该层本身使用该模型在数据库上执行CRUD操作,以返回一个视图模型,该视图模型由该操作传递给视图(或者域层返回模型的某一部分,以便该操作转换为视图模型)。但是有很大的差异,通常是由团队偏好和领域复杂性驱动的。但是:因为其中很多是“取决于上下文”和“在我看来”,这个问题并不适合。我们通常有两个模型,一个用于视图,一个或多个用于db层,使用两者之间的映射,DAL层是从MVC环境中分离出来的。这就是我所发现的——根据我的观察,有很多不同的模式。我真的很想看到一些中等大小代码库的最佳实践,以实现最佳重用和最少的痛苦:)在这样的领域,确实没有最佳实践。有很多好的实践,但要有一个最好的实践,就需要有一个独特的理想方法。但是,对于单一的正确方法来说,有太多的上下文相关变量。