问题描述
如何做一个大的插入与使用SqlBulkCopy从列表<>简单对象
How can I make a big insertion with SqlBulkCopy from a List<> of simple object ?
我实现我的自定义IDataReader的?
Do I implement my custom IDataReader ?
推荐答案
只需创建你的对象和呼叫 SqlBulkCopy.WriteToServer
的列表中的数据表,传递的数据表。
Simply create a DataTable from your list of objects and call SqlBulkCopy.WriteToServer
, passing the data table.
您可能会发现以下有用的:
You might find the following useful:
- 将列添加到DataTable 。添加一列每个属性/字段您想写信。
- 将行添加到DataTable 。添加一行在列表中的每个对象。
- Adding columns to a DataTable. Add a column for each property/field you wish to write.
- Adding rows to a DataTable. Add a row for each object in your list.
有关使用SqlBulkCopy的最大性能,你应该设置适当的BatchSize.万似乎运作良好 - 但天寒您的数据。
For maximum performance with SqlBulkCopy, you should set an appropriate BatchSize. 10,000 seems to work well - but profile for your data.
在使用SqlBulkCopyOptions.TableLock.
的SqlBulkCopy的性能一个有趣和翔实的分析可以发现,here.
An interesting and informative analysis of SqlBulkCopy performance can be found here.
这篇关于SqlBulkCopy的从列表&LT;&GT;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!