在没有 DataAdapter 的 ADO.NET 中进行批处理
是否可以在 ADO.NET 中实现多个存储过程调用(执行更新/删除)的批处理,而无需借助 DataAdapter?
Is it possible to implement batching of multiple stored procedure calls (doing updates/deletes) in ADO.NET without resorting to DataAdapters?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以尝试使用 System.Data.SqlClient.SqlCommandSet。 它实际上是内部的,但是 Ayende 制作了一个包装器以将其公开。
代码当前托管在 sourceforge。
You could try using System.Data.SqlClient.SqlCommandSet. It's actually internal, but Ayende made a wrapper to make it public.
Code is currently hosted in sourceforge.
您的 SQL 文本可以包含多个命令。 如果返回多个结果集,则可以使用 DataReader 并使用 NextResult 函数。 我经常做的是将 SQL 存储为嵌入资源来执行,然后加载该文本。 如果它包含参数,则像平常一样设置参数。
例如,我有一个文件:
我这样执行:
请注意,MvcApplication.GetResource不是内置函数 - 它是您必须编写的函数...这是我的:
You're SQL text can contain multiple commands. If you return multiple result sets, then you can use a DataReader and use the NextResult function. What I often do is store the SQL to execute as an Embedded Resource, then load that text. If it contains parameters, then set the parameters just like you would normally.
For example, I have a file:
that I execute as such:
Note that MvcApplication.GetResource is not a built in function - it's one you have to write... here's mine: