Dar*_*usz 14 asp.net-mvc design-patterns entity-framework asp.net-mvc-2
让我们考虑默认的ASP.NET MVC应用程序文件夹结构,所以它看起来像这样:
-App_data
-Content
-Controllers
HomeController.cs
-Models
AccountModels.cs
-Scripts
-Views
Run Code Online (Sandbox Code Playgroud)
我的问题是:放置实体框架数据模型(EDMX)文件的最佳位置在哪里?是Models文件夹吗?是的 - 我们知道好的解决方案是引入新项目并将其引用到MVC应用程序,但现在让我们忘记这一点.
这是有争议的,但我会为Models文件夹投票+1 .
唯一的另一个候选者是App_Data,但这通常用于基于文件的数据库(例如SQL Server CE .MDF)和IIS不希望提供的文件.
由于EDMX是数据库的抽象,因此它应该进入Models文件夹.
如果项目变大,您应该定义将EF模型移动到另一个项目中.为了证明自己的未来,让控制器通过存储库/接口访问EDMX,因此当您将DAL移动到另一个项目时,您所要做的就是添加引用并添加using语句.