.net:将通用列表转换为DataReader?

时间:2011-02-01 08:29:39

标签: .net winforms sqldatareader sqlbulkcopy generic-list

您好 我在winform中有一个填充的通用列表,现在想将其数据作为批量复制发送到SQL服务器表中。在我阅读SqlBulkCopy类时,它需要一个数据读取器作为源。

现在,我该如何将其转换为DataReader?

谢谢

2 个答案:

答案 0 :(得分:4)

您可以将其转换为DataTable并发送到SqlBulkCopy。它会更容易,并且没有性能损失,因为所有数据都已经存在于内存中。

SO上有类似的question

答案 1 :(得分:2)

如果数据量足够健全,可以作为List<T>存在,那么您也可以构建一个DataTable并以这种方式推送数据。我不喜欢 DataTable,但它很好地完成了这项工作。另一种方法是编写自定义IDataReader实现like this,但每次都会迭代列表中的项目。我不确定这是值得的。