0

我正在构建一个 API,其中我需要的数据与它的持久化方式有很大不同(对于对数据库的每次访问,我正在执行 5-10 次连接,但我无法通过代码执行它们,因为它花费的时间太长)。

我正在使用控制器服务存储库架构,并且我已经阅读了几个来源,存储库应该只包含基本的 CRUD 操作。

鉴于这种:

  • 他们应该在存储库或服务级别吗?
  • 有没有其他更适合这个用例的结构化代码方式?
4

1 回答 1

0

使用标准的 N 层架构(在您的情况下 N=3,最常见),“自定义”SQL 代码当然会进入最低层,即存储库。

我现在的建议是不要将这些 SQL 查询保留在代码中,而是将它们移动到存储过程中。您将获得大量好处,而不仅仅是性能。

存储库应包含您需要的方法。创建适当的抽象并免费生活:)

另一种选择是使用 CQRS,当系统通过简单的 CRUD 时,我总是强烈建议使用它。

于 2020-12-04T14:23:00.523 回答