【发布时间】:2014-05-18 07:53:28
【问题描述】:
我正在尝试查找有关使用 MVC 2 和实体框架时首选解决方案设置的一些信息,对我来说,将此 Web 应用设置为 3 层似乎是最直观的:
- MyProject.Web(用于演示的 MVC 项目)
- MyProject.Data(使用实体框架与数据库对话的数据网关层)
- MyProject.Tests(设置新 MVC 项目时创建的测试项目)
这似乎与我找到的示例相反,并且文档(例如,NerdDinner 示例)将 MVC 项目视为直接与数据库进行调解。 NerdDinner 示例将数据访问置于与 MVC 模型混合的存储库类中。
我尝试了对我来说最好的方式,并在我单独的 Data 项目中创建了我的“ADO.NET 实体数据模型”项目,但是当我尝试使用 MVC 时这给了我一个错误列出其中的项目:
“无法加载指定的元数据资源。”
除非我的 MVC 项目中也有实体数据模型的副本。
在我深入调查此错误之前,我想知道我是否只是在与纯粹主义框架作斗争,而我只能在我的存储库中使用数据访问权限。
所以: - 是否有可能或建议将我的实体框架定义放在另一个项目中? - 以这种方式分离是否会牺牲某些其他 MVC 功能? (例如,验证?) - 如果我正朝着正确的方向前进并且其他人也同意,那么是否还有其他示例或文档有人可以指出我?
【问题讨论】:
标签: asp.net-mvc entity-framework