【发布时间】:2018-08-21 22:10:08
【问题描述】:
因为SqlCommand 实现IDisposable,我通常会按如下方式处理ADO 查询。
using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlCommand command = new SqlCommand(query, connection))
{
// Execute command, etc. here
}
但是,如果我需要在单个连接期间执行多个命令怎么办?我真的需要为每个命令创建一个新的using 块吗?
我从 Microsoft 找到的示例没有为 SqlCommands 使用 using 块(甚至调用 Dispose())。处置SqlCommand 的最佳做法是什么?
【问题讨论】:
-
如果您不需要重叠访问,没有理由不重用单个 SqlCommand。
-
我个人对连接块内的每个命令对象都使用了一个新的 using 块。您也可以随时重置命令信息并清除参数并使用现有命令对象运行新查询。
标签: c# ado.net idisposable sqlconnection sqlcommand