关于如何使用以下场景设置MVC存储库,我可以提供一些指导。
下面是我的项目中主要表的示例。
实体
标签
文章
人物
工作
帖子
考虑到以上信息,我应该创建一个仓库吗?
实体储存库
文章
人物
工作
帖子
我使用PetaPoco作为我的ORM。这是否一个合适的方法?
发布于 2014-09-15 14:15:46
好吧,是和不是。是的,通常情况下,一个存储库是一个“东西”,所以每个实体都需要它自己的存储库。但是,如果您使用的是实体框架或其他ORM,那么在其之上实现存储库模式是一个非常糟糕的想法。ORM的全部目的是为您提供存储库。在实体框架中,每个DbSet都是一个存储库,您的DbContext是您的工作单元。在此基础上添加另一个层,您只会在上下文中代理一个方法调用到另一个方法调用,不提供任何好处,并增加应用程序的复杂性和维护成本。
要么直接使用ORM,要么想抽象它,使用服务模式并创建满足应用程序中需要的特定查询的端点。根据应用程序的大小,您可能只需要一个服务,而不是每种类型一个服务。
https://stackoverflow.com/questions/25849123
复制相似问题