标签: .net winforms sqldatareader sqlbulkcopy generic-list
您好 我在winform中有一个填充的通用列表,现在想将其数据作为批量复制发送到SQL服务器表中。在我阅读SqlBulkCopy类时,它需要一个数据读取器作为源。
现在,我该如何将其转换为DataReader?
谢谢
答案 0 :(得分:4)
您可以将其转换为DataTable并发送到SqlBulkCopy。它会更容易,并且没有性能损失,因为所有数据都已经存在于内存中。
SO上有类似的question。
答案 1 :(得分:2)
如果数据量足够健全,可以作为List<T>存在,那么您也可以构建一个DataTable并以这种方式推送数据。我不喜欢 DataTable,但它很好地完成了这项工作。另一种方法是编写自定义IDataReader实现like this,但每次都会迭代列表中的项目。我不确定这是值得的。
List<T>
DataTable
IDataReader