如何通过一次往返将多个命令发送到SQL Server 2008

时间:2012-01-23 17:13:20

标签: .net sql-server-2008 nhibernate ado.net

我想在一次往返中向sql server数据库发送多个参数化更新,插入和删除命令。我查看了sqlbulkcopy,但似乎一次只能使用一个映射/表/语句。我希望有些东西更灵活。我不需要从任何查询中获得任何结果(即:受影响的行数)但我确实希望将失败传播回应用层,以便可以回滚事务。有什么想法吗?

方面问题:我也想知道nHibernate是如何做到这一点的,只是因为它是经过尝试和真实的并且似乎表现良好。我试图查看nhibernate源代码,但它没有立即清楚它是如何进行批处理的。我可以回到源头,但希望有人知道,高级别,如何处理它并可以向我解释。

2 个答案:

答案 0 :(得分:1)

CommandType设置为Text,并用分号分隔命令。您最终得到一个巨型命令,您可能需要以编程方式生成其参数名称(以避免冲突)。

答案 1 :(得分:0)

如果我没错,SqlCommandBuilder会帮助你:)。 SqlCommandBuilder