C# ASP.NET MVC小型项目体系结构
我读了很多关于ASP.NET MVC项目分离的文章,但是我找不到最佳实践问题的明确答案。我有一个很小的,单人秀的项目,我想使用实体框架来映射对象关系数据库,但我想避免将数据库层分离到另一个项目。正如我所知,将数据模型放在MVC项目的隐式模型文件夹中不是一个好主意,但放在哪里呢?视图模型(在模型文件夹I gues中)、edmx文件、接口、存储库的正确命名和位置是什么,放置整个业务逻辑的最佳位置是什么 编辑 我认为将DAL分离到另一个项目是错误的,在单独的项目中使用或不使用DAL对我来说并不重要,我只是不认为这种方法在如此规模的项目中有任何优势 默认情况下,只有2个命名约定(无论如何,可以更改):C# ASP.NET MVC小型项目体系结构,c#,asp.net,asp.net-mvc,architecture,C#,Asp.net,Asp.net Mvc,Architecture,我读了很多关于ASP.NET MVC项目分离的文章,但是我找不到最佳实践问题的明确答案。我有一个很小的,单人秀的项目,我想使用实体框架来映射对象关系数据库,但我想避免将数据库层分离到另一个项目。正如我所知,将数据模型放在MVC项目的隐式模型文件夹中不是一个好主意,但放在哪里呢?视图模型(在模型文件夹I gues中)、edmx文件、接口、存储库的正确命名和位置是什么,放置整个业务逻辑的最佳位置是什么 编辑 我认为将DAL分离到另一个项目是错误的,在单独的项目中使用或不使用DAL对我来说并不重要,我
如果您有服务或其他包含业务逻辑的东西,那么您可以将它们放入“服务”文件夹。如果您的单人秀项目随着时间的推移成为一个大项目,该怎么办?通过不分离关注点,您立即失去了可伸缩性 我不会在MVC项目中加入任何与在客户机上显示或编辑数据没有直接关系的内容 考虑一个负责与数据库通信的服务层。 考虑一个描述实体的域层。然后,您可以从域实体构建视图模型,这些实体通过服务层检索
这是一个非常基本的架构。如果您的数据库中有4个表,即4个域实体(模型或任何您想调用它们的名称)、4个EF配置文件和4个视图模型,以在页面上显示数据。如果您随后决定在数据库中再添加几个表,那么您的MVC项目开始变得相当大,这还没有提到任何接口或服务来处理CRUD操作。如果您的单人秀项目随着时间的推移成为一个大项目,该怎么办?通过不分离关注点,您立即失去了可伸缩性 我不会在MVC项目中加入任何与在客户机上显示或编辑数据没有直接关系的内容 考虑一个负责与数据库通信的服务层。 考虑一个描述实体的域层。然后,您可以从域实体构建视图模型,这些实体通过服务层检索
这是一个非常基本的架构。如果您的数据库中有4个表,即4个域实体(模型或任何您想调用它们的名称)、4个EF配置文件和4个视图模型,以在页面上显示数据。如果您决定在数据库中再添加几个表,您的MVC项目开始变得相当大,这还没有提到任何接口或服务来处理CRUD操作。将DAL放在一个单独的项目中有什么问题吗?什么都没有,我只是不认为这种方法在如此规模的项目中有任何优势。我表达了自己的错误,在单独的项目中有没有DAL对我来说并不重要。在单独的项目中有DAL有什么不对?一点都没有,我只是不认为这种方法在如此规模的项目中有任何优势。我表达错了,在单独的项目中有没有DAL对我来说并不重要。