使用ORM(如Entity Framework)时,存储过程适用的情况

时间:2012-01-15 19:10:41

标签: entity-framework stored-procedures

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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