我要运行一系列T-SQL DELETE FROM TABLE和INSERT语句。我使用普通的ADO.NET(而不是实体框架)。有没有办法可以一次执行所有这些语句,而不是为每个语句创建一个新的SqlCommand对象?
答案 0 :(得分:3)
sqlCommand.CommandText =
@"DELETE FROM foo;
INSERT INTO foo (name) VALUES ('name1');
INSERT INTO foo (name) VALUES ('name2');
";
答案 1 :(得分:2)
是的,您可以使用带有CommandType.Text的单个SqlCommand将所有delete语句组合到一个块中。虽然可以同时运行INSERT和DELETE语句,但如果您想要参数化的查询,则可能更容易批处理命令。
修改强>
我打算添加一个如何创建批量参数化查询的代码示例,但如果只需要其他答案,那么我暂时不管它。