【问题标题】:Situations when stored procedures are appropriate when using an ORM like Entity Framework使用类似实体框架的 ORM 时存储过程适用的情况
【发布时间】:2012-01-15 19:10:40
【问题描述】:

我正在寻找在使用像实体框架这样的 ORM 时存储过程比默认 ORM 功能更合适的选择的特定情况。我遇到的一个例子是 ORM 在批量更新方面很差,通常为每个修改的实体生成单个更新语句而不是有效的单个批量更新,因此在这种情况下使用 ORM 进行大多数 CRUD 操作,并使用 SP 进行批量更新更新会有意义。在使用 ORM 时,在哪些其他情况下 SP 是合适的选择?

【问题讨论】:

    标签: entity-framework stored-procedures


    【解决方案1】:

    可以在数据库中单独保护存储过程。可以授予客户端执行存储过程的权限,而无需对基础表具有任何权限。

    存储过程更容易维护,因为修改存储过程通常比更改已部署组件中的硬编码 SQL 语句更容易。

    存储过程从底层数据库模式中添加了额外的抽象级别。存储过程的客户端与存储过程的实现细节和底层架构是隔离的。

    存储过程通常会提高性能,因为数据库可以优化过程使用的数据访问计划并将其缓存以供后续重用。

    你描述的情况: 存储过程可以减少网络流量,因为 SQL 语句可以批量执行,而不是从客户端发送多个请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      • 2013-10-31
      • 1970-01-01
      相关资源
      最近更新 更多