使用Dapper存储过程有什么不利之处吗?

时间:2016-09-29 06:19:17

标签: stored-procedures dapper

我最近开始了解名为Dapper的微型ORM。我们通常在很大程度上依赖于MSSQL数据库中的存储过程,以避免将T-SQL与我们的C#代码混合在一起。

您对Dapper和存储过程有什么经验? Dapper是否要求内联T-SQL充分利用Dappers的所有优点\功能?

1 个答案:

答案 0 :(得分:4)

  

您对Dapper和存储过程有什么经验?

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

  

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

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

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

  • 性能
  • 清晰一致的代码
  • 执行复杂的数据库操作,例如使用TVP,它可以在单个调用中占用大量数据并使用它而不是多个网络请求uisng文本查询