考虑以下函数,该函数返回带有关闭连接的sql命令
public static SqlCommand CreateTableCommand(this IList<Columns> Columns,string connectionString=null)
{
//.
//.
//.
var command = new SqlCommand(query.ToString());
command.Parameters.AddWithValue("@tablename",T.Name);
command.Connection = new SqlConnection(connectionString??App.db.GetConnectionString());
return command;
}
我将它用作以下
someObject.GetColumns().ToList().CreateTableCommand().ExecuteNonQuery();
有没有办法在调用ExecuteNonQuery()
或ExecuteScalar()
之前稍微自动打开连接?我不想返回一个打开的连接,因为我可能不会立即调用执行
答案 0 :(得分:2)
你可以写一个扩展名
public static int MyExecuteNonQuery(this SqlCommand command)
{
command.Connection.Open();
var buff = command.ExecuteNonQuery();
command.Connection.Close();
return buff;
}