我希望我只是在这里做错了什么。 理想情况下,我试图打开连接,打开一个事务 对此连接执行大量预建sql语句(带参数) 然后关闭连接。理想情况下全部在同一批中。运算符未定义为System.Data.SqlClient.SqlConnection和System.Data.SqlClient.SqlConnection
很容易把这一切都包装在一个for循环中,但是我想使用列表泛型的forEach函数来设置连接,因为它可能比我调用List.Item的实现更快我)在循环中,但我得到一些奇怪的错误。
Dim sqlStatements As List(Of SqlCommand) = New List(Of SqlCommand)
Dim conn As SqlClient.SqlConnection = New SqlConnection("...")
sqlStatements.Item(0).Connection = conn
'Works
sqlStatements.ForEach(Function(ByRef cmd As SqlCommand) cmd.Connection = conn)
'ERROR: Operator '=' is not defined for types
'System.Data.SqlClient.SqlConnection'
'and 'System.Data.SqlClient.SqlConnection
这个错误究竟是什么意思?
不,我没有真正测试过,所以我只是在猜测List.ForEach实现会更快。我的想法是基于这样的假设,即ForEach包含在List * generic *中,并且可能在某处提供某些好处。 谢谢。这告诉我我需要知道什么。 – Beta033 2010-04-21 18:44:39