Dapper 隐式地期望连接在使用时打开。为什么它不自己打开和关闭?这不是简单的连接管理吗?
我问是因为我和一个同事一直在讨论连接池幕后发生的事情的性质,以及在多个命令之间保持连接打开或打开和关闭它是否有任何好处对于每个命令。
最佳答案
Dapper 现在(并且在相当长的一段时间内)在内部处理这个问题。它只是有效™
原始(过时)答案:
你没有错。我没有注意到这种不便的原因是由于遗留原因(特别是:我们曾经专门使用 LINQ-to-SQL)我们主要的类似连接的东西是 DataContext
- 所以我们在 DataContext
上重新公开了 dapper 方法作为扩展方法.
愚蠢的是:这些方法的作用是:
using(db.Connection.EnsureOpen()) {
db.Connection.{the dapper method}
}
在这里,EnsureOpen 是一个厚脸皮的方法:
所以:我们显然感受到了你的痛苦,但我们在更上层实现了它。
请将此记录为功能请求。我们拥有所有代码(尽管我需要稍微调整它以适合非缓冲数据的“阅读器”)- dapper 绝对没有理由不能拥有它。
关于.net - 为什么 Dapper dot net 不打开和关闭连接本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12628983/