首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在哪个API层(存储库/服务)中放置自定义SQL查询逻辑?

在哪个API层(存储库/服务)中放置自定义SQL查询逻辑?
EN

Stack Overflow用户
提问于 2020-12-04 11:20:56
回答 1查看 37关注 0票数 0

我正在构建一个API,在这个API中,我需要与其持久化方式有很大不同的数据(对于每次对DB的访问,我都要执行5-10个联接,而且我不能通过代码执行它们,因为这需要太长时间)。

我使用的是控制器-服务-存储库体系结构,我在几个源代码中看到,存储库应该只包含基本的CRUD操作。

鉴于此:

  • should --它们位于存储库或服务level?
  • is中,还有其他更适合本用例的构造代码的方法吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-04 14:23:00

对于标准的N体系结构(在您的例子中,N=3是最常见的),“自定义”SQL代码当然会进入最低层,即存储库。

我现在的建议是不要将这些SQL查询保留在代码中,而是将它们移动到存储过程中。你会得到很多好处,而不仅仅是表现。

存储库应该包含所需的方法。创建适当的抽象并自由地生活:)

另一种选择是使用CQRS,当系统通过简单CRUD时,我一直强烈鼓励使用CQRS。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65142665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档