将存储过程与 Dapper 一起使用有什么缺点吗?

Jon*_*nas 2 stored-procedures dapper

我最近开始了解名为Dapper的微型 ORM 。我们通常严重依赖 MSSQL 数据库中的存储过程,以避免 T-SQL 与我们的 C# 代码混淆。

您对 Dapper 和存储过程的体验如何?Dapper 是否需要内联 T-SQL 才能充分利用 Dappers 的所有优点\功能?

Mri*_*boj 5

您对 Dapper 和存储过程的体验如何?

Dapper 最终是一个对象映射器,它在ADO.Net内部使用API工作,虽然它缓存某些数据结构以使查询更快,但它与存储过程一起工作非常有效。

Dapper 是否需要内联 T-SQL 才能充分利用 Dappers 的所有优点\功能?

不,实际上因为存储过程是预编译的,所以与 Sql 文本查询不同,每个请求都没有硬解析的范围,因为最佳执行计划已经缓存在 Sql Server 中。

简而言之,存储过程确实是用于 dapper 和 SQl 服务器组合的理想机制:

  • 表现
  • 干净一致的代码
  • 做复杂的数据库操作,比如使用 TVP,它可以在一次调用中获取大量数据并使用它而不是多个网络请求 uisng 文本查询