如何使用Entity Framework 4.1,POCO和存储库模式设计应用程序

Bob*_*erg 3 entity-framework repository poco efpocoadapter entity-framework-4

我正在尝试使用Enterprise Library 4.1在ASP.NET MVC中设计一个应用程序我添加了Entity Framework POCO模板并将生成的实体移动到一个单独的"Entities"项目中.但是,我很难确定设计此应用程序的最佳方法.我假设ObjectContext应该与EDMX文件在同一个项目中.但是ObjectContext必须能够访问POCO.如果我创建存储库,则需要访问POCO和ObjectContext.我假设存储库逻辑和POCO应该在同一个项目中,但这不起作用,因为"POCO项目"和"EDMX项目"之间会有一个循环引用.我不想将ObjectContext放在"POCO项目"中,因为该项目不应该引用System.Data.

我已经四处搜索了一些例子,但几乎所有的例子我发现这个例子并没有使用最佳实践.也许我让这太复杂了.我只是想了解如何最好地设计应用程序.

bka*_*aid 7

如果您希望使用POCO,您应该查看Entity Framework Code First并完全跳过EDMX文件. Project Silk就是微软推出的一个很好的例子.我会做一些稍微不同的事情,但总体而言,它涵盖了EF4.1,POCOS和您提到的存储库模式.Shrinkr是另一个很好的示例项目.一个略小但仍然很好的例子是EFMVC,它主要关注EF的存储库模式.