我正在尝试使用Enterprise Library 4.1在ASP.NET MVC中设计一个应用程序我添加了Entity Framework POCO模板,并将生成的实体移动到一个单独的“实体”项目中。但是,我很难确定设计此应用程序的最佳方法。我假设ObjectContext应该与EDMX文件在同一个项目中。但是ObjectContext必须能够访问POCO。如果我创建存储库,则需要访问POCO和ObjectContext。我假设存储库逻辑和POCO应该在同一个项目中,但这不起作用,因为“POCO项目”和“EDMX项目”之间会有一个循环引用。我不想将ObjectContext放在“POCO项目”中,因为该项目不应该引用System.Data。
我一直在搜索示例,但几乎所有我发现的例子都是在不使用最佳实践的情况下将示例放在一起。也许我让这太复杂了。我只是想了解如何最好地设计应用程序。
答案 0 :(得分:7)
如果您希望使用POCO,您应该查看Entity Framework Code First并完全跳过EDMX文件。 Project Silk就是微软推出的一个很好的例子。我会做一些稍微不同的事情,但总体而言,它涵盖了EF4.1,POCOS和您提到的存储库模式。 Shrinkr是另一个很好的示例项目。一个略小但仍然很好的例子是EFMVC,主要关注的是EF的存储库模式。