Asp.net mvc 3 如何在n层项目中构建MVC3、EF、ViewModels、AutoMapper、POCO、存储库和工作单元?
我已经阅读了无数关于如何使用最佳实践构建新的MVC3应用程序的文章 90%的文章将EF EDMX文件与MVC应用程序合并到同一个项目中。那些将这些项目分离到自己项目中的人并没有明确每个项目进入哪个项目以及每个项目有哪些参考。通常,它们包含的代码片段非常适合教授如何实现特定功能,但不要告诉我如何构建解决方案 我相信我的解决方案中至少需要5个项目。有人能告诉我这里的布局是否正确吗Asp.net mvc 3 如何在n层项目中构建MVC3、EF、ViewModels、AutoMapper、POCO、存储库和工作单元?,asp.net-mvc-3,repository-pattern,automapper,n-tier-architecture,Asp.net Mvc 3,Repository Pattern,Automapper,N Tier Architecture,我已经阅读了无数关于如何使用最佳实践构建新的MVC3应用程序的文章 90%的文章将EF EDMX文件与MVC应用程序合并到同一个项目中。那些将这些项目分离到自己项目中的人并没有明确每个项目进入哪个项目以及每个项目有哪些参考。通常,它们包含的代码片段非常适合教授如何实现特定功能,但不要告诉我如何构建解决方案 我相信我的解决方案中至少需要5个项目。有人能告诉我这里的布局是否正确吗 数据访问层-包含EF EDMX文件。(可能是DBContext自动生成的代码?) 业务层-包含IRepository和
- 数据访问层-包含EF EDMX文件。(可能是DBContext自动生成的代码?)
- 业务层-包含IRepository和Repository类、UoW类以及域的业务逻辑。-包含对DAL的引用
- ViewModels-包含将使用AutoMapper在我的DAL和表示层之间切换的ViewModels。-包含对DAL的引用
- MVC 3应用程序-标准MVC 3应用程序。包含对BusinessLayer和ViewModels项目的引用
- 测试单元测试
不过,您上面概述的内容也不错。这是一个非常主观的问题。我的一般建议是“如果有人能够打开一个项目,并且知道在哪里可以找到东西,那么你很可能会正确地完成它”我通常的做法:
关于最佳实践,当谈到EF时,我无法将您链接到我使用的源代码,因为我使用的是一本书。不过,我会将您链接到,这是Julie Lerman的编程实体框架。在查看要放入什么项目时,考虑如何部署代码会有所帮助。将要在同一个项目中发布的代码放在一起,然后使用名称空间将其逻辑地划分为不同的层。对于我从事的大多数项目来说,它往往非常简单,只有3个项目 业务层
- 域/业务模型和服务
- 数据访问层
- 视图模型
- 汽车制造商
- 控制器
- 观点
- 单元测试