【问题标题】:Entity Framework, how and where to call stored procedure?实体框架,如何以及在哪里调用存储过程?
【发布时间】:2016-06-03 19:56:14
【问题描述】:

我正在使用 Entity Framework 创建 Web API。

我有一个存储过程,它接收一些参数,然后在两个不同的表中创建一条新记录。

由于每个表都有自己的控制器,我应该在哪里调用存储过程?我该怎么称呼它?

【问题讨论】:

  • 你可以直接访问数据库上下文——它有一些执行东西的方法
  • “我应该在哪里调用存储过程?” - 任何有意义的地方...
  • Since every table has its own controller - 你在这里使用 Poco 类模型将数据插入到表中还是在这里你也只使用存储过程?

标签: entity-framework stored-procedures asp.net-web-api


【解决方案1】:

这听起来像是您目前正在采用 REST 样式的 Web API。每个表都有自己的 HTTP 端点,您可以或多或少地直接使用 GET/PUT/POST/DELETE 操作记录。但是,您的新操作是一个更复杂的操作。它可能被认为更像是 RPC 风格的调用。您可能希望为 RPC 样式的端点(路由)创建一个新控制器,以供您的客户端调用。最后,这完全取决于您的创造力。

根据我的经验,即使是最严格地遵守 REST 风格的约定,通常也至少需要一些 RPC 端点来进行更复杂的操作。有时我将它们包含在其他控制器中,有时它们独立存在。

【讨论】:

    猜你喜欢
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多