.net: Преобразование общего списка в DataReader? - PullRequest
1 голос
/ 01 февраля 2011

Привет У меня есть заполненный общий список в форме win, и теперь я хочу отправить его данные в таблицу SQL-сервера в виде массовой копии. Когда я читаю класс SqlBulkCopy, в качестве источника ему требуется средство чтения данных.

Теперь, как я могу преобразовать его в DataReader?

Спасибо

Ответы [ 2 ]

4 голосов
/ 01 февраля 2011

Вы можете преобразовать его в DataTable и отправить в SqlBulkCopy.Это было бы намного проще, и не было бы никакого снижения производительности, потому что все данные уже присутствуют в памяти.

Существует аналогичный вопрос на SO.

2 голосов
/ 01 февраля 2011

Если объем данных достаточно нормален, чтобы существовать как List<T>, вы также можете просто создать DataTable и подтолкнуть данные таким образом.Мне не нравится DataTable, но он прекрасно справляется с этой задачей.В качестве альтернативы можно написать пользовательскую IDataReader реализацию , например , но каждый раз перебирающую элементы в списке.Я не уверен, что оно того стоит.

...