.net:將通用列表轉換為DataReader?

.net generic-list sqlbulkcopy sqldatareader winforms

嗨,我在winform中有一個填充的通用列表,現在想將其數據作為批量複製發送到SQL服務器表。在我閱讀SqlBulkCopy類時,它需要一個數據讀取器作為源。

現在,我該如何將其轉換為DataReader?

謝謝

一般承認的答案

您可以將其轉換為DataTable並發送到SqlBulkCopy。它會更容易,並且沒有性能損失,因為所有數據都已存在於內存中。

關於SO也有類似的問題


專家解答

如果數據量足夠理智,可以作為List<T>存在,那麼您也可以構建一個DataTable並以這種方式推送數據。我不喜歡 DataTable ,但它很好地完成了這項工作。另一種方法是編寫自定義IDataReader實現這樣的 ,但它迭代,每次在列表中的項目。我不確定這是值得的。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因