<分区>
我对构建 restful web api 还很陌生,但我已经做了很多研究并且对基础知识有很强的理解。我已经使用 web api 2 的最新最佳实践为我的公司构建了一个服务。属性路由和路由前缀、依赖注入(inject)等等。我认为我的服务非常可靠,但可能需要重构。
我的公司正在考虑从 MS SQL 迁移到 PostGreSql 或可能是其他数据库解决方案。另外,我应该提一下,我们不使用 EF 或任何其他 ORM。我们不使用 EF 的原因是因为我们的数据库模式在不断变化,而且我们有许多彼此不同的环境(dev、qa、prod 等)。所以我们开发了自己的框架来处理我们对数据库的查询。我们经常使用存储过程来检索数据。
因此,更改我的服务以适应不同的数据库,存储库模式似乎是解决方案。然而,当我开始研究它时,感觉就像我们添加了很多开销代码,而实际上,如果 DB 确实发生更改,只需返回并重构服务,编写的代码可能会更少。对于我的每个 Controller ,我至少需要编写一个 IModelRepository 和 ModelRepository 类。
任何人都可以提供任何指导吗?
编辑:
我不太确定如何让这个问题不那么宽泛。我对存储库模式了解不够,无法在我的问题中更详细地说明。我基本上只是想知道存储库模式是否是解决 future 可能在 Web api MVC 服务中更改数据库解决方案的问题,即使我没有使用类似 ORM 的 Entity Framework ?
我问是因为我在网上找到的每个示例似乎都使用 EF,这使得它很难与我当前的问题相关联。但是,最佳答案给出了非常好的解释,我认为我的问题得到了解答。我只需要找到一个很好的资源来学习模式。谢谢。