[英]DBCommand using block
我有以下代码:
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Events";
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
通过阅读该站点上的几篇文章,建议DbCommand
应该在using块中,但是,我看不到为什么需要这样做。 连接已关闭,那么DbCommand坚持使用的是什么需要using块? 如果从IDisposable继承的类必须使用using块或手动调用Dispose确实是这种情况?
我在上面的代码上运行了一个具有100个线程的模拟器,并且在DbCommand
上使用了带有using块的代码,但我发现内存使用没有真正的区别。
DbCommand
是抽象的,并且不预设特定于供应商的子类将拥有哪些本机资源,以及应该以什么顺序释放它们。 using
块的正确嵌套似乎是合理的隐式编码约定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.