我通常使用这样的代码:
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString)) { var command = connection.CreateCommand(); command.CommandText = "..."; connection.Open(); command.ExecuteNonQuery(); }
我会command自动处置吗?还是没有,我必须将其包装成using块?是否需要处置SqlCommand?
command
using
SqlCommand
只是这样做:
using(var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString)) using(var command = connection.CreateCommand()) { command.CommandText = "..."; connection.Open(); command.ExecuteNonQuery(); }
不在命令上调用dispose不会做任何不好的事情。但是,在其上调用Dispose将抑制对终结器的调用,从而使调用dispose可以提高性能。