C# 在MVC项目中创建数据访问层的位置
我创建了一个空的MVC项目,因为我需要访问数据库,我没有使用任何实体框架,只是直接使用代码。在这里,我附上了我的项目架构的快照,您可以看到数据访问层文件夹,在同一个项目中使用数据访问层是一种好方法,还是我们需要为数据访问层创建一个单独的项目 项目架构快照:C# 在MVC项目中创建数据访问层的位置,c#,asp.net-mvc,directory-structure,C#,Asp.net Mvc,Directory Structure,我创建了一个空的MVC项目,因为我需要访问数据库,我没有使用任何实体框架,只是直接使用代码。在这里,我附上了我的项目架构的快照,您可以看到数据访问层文件夹,在同一个项目中使用数据访问层是一种好方法,还是我们需要为数据访问层创建一个单独的项目 项目架构快照: 这取决于您选择的体系结构。基本上,在MVC项目中,模型与数据通信 如果您使用的是ADO,我建议将模型移动到单独的类库中也将DataAccess移动到我们在3层模型中使用的单独类库中 因此,您可以从与mvc项目分离的业务逻辑调用数据访问 像这样
这取决于您选择的体系结构。基本上,在MVC项目中,模型与数据通信 如果您使用的是
ADO
,我建议将模型移动到单独的类库中
也将DataAccess
移动到我们在3层
模型中使用的单独类库中
因此,您可以从与mvc项目分离的业务逻辑调用数据访问
像这样的东西
在模型中,您可以使用BLL
或者,您可以添加App\u Data
文件夹,编写数据访问帮助器类,并在模型本身中编写业务逻辑。我建议使用第一种方法将其分开。保持数据访问层不变,但通过控制器调用DataAccessLayer方法
因为视图直接调用相应的控制器。从该控制器,您可以访问数据访问层,但在模型文件夹中创建类(模型)我也面临类似问题。请参阅以下帮助。
我使用的是存储库模式和工作单元。但这里有通过层进行冗余编码的方法。上面的链接包含一些旧的链接,请参阅,这对您有帮助。别忘了在这件事上写个逗号,谢谢 最好将DAL放在一个单独的项目中,而不是您的表示层中。在将来,如果您有一个不同的数据库,您不必对表示层进行更改。只要在DAL上工作,你就可以走了。这就是我在大多数项目中遵循的方法。我不是一个架构师,但肯定见过很多人使用相同的分层体系结构。照此