關于 SqlServer 批量插入的方式,前段時間也有大神給出了好幾種批量插入的方式及對比測試(http://www.cnblogs.com/jiekzou/p/6145550.html),估計大家也都明白,最佳的方式就是用 SqlBulkCopy。自從LZ把Chloe.ORM開源以后,有不少園友/群友詢問,框架怎么批量插入數(shù)據。我的回答是不支持!最后建議他們用 SqlBulkCopy 的方式插入。在我們公司,我對 SqlBulkCopy 封裝成了一個 Helper 方法,使得批量插入更加方便,以滿足公司內部不少批量插入需求。我也在群里分享了給他們。因為已經有好幾位朋友咨詢過,所以,我感覺應該還有很多人還沒有自己的一個批量插入方法,因此,LZ今兒給大家分享下我封裝的這個批量插入方法,希望大家喜歡。

先看看封裝后的方法定義:

大學生就業(yè)培訓,高中生培訓,在職人員轉行培訓,企業(yè)團訓

public static class SqlConnectionExtension
{    /// <summary>
    /// 使用 SqlBulkCopy 向 destinationTableName 表插入數(shù)據
    /// </summary>
    /// <typeparam name="TModel">必須擁有與目標表所有字段對應屬性</typeparam>
    /// <param name="conn"></param>
    /// <param name="modelList">要插入的數(shù)據</param>
    /// <param name="batchSize">SqlBulkCopy.BatchSize</param>
    /// <param name="destinationTableName">如果為 null,則使用 TModel 名稱作為 destinationTableName</param>
    /// <param name="bulkCopyTimeout">SqlBulkCopy.BulkCopyTimeout&l
        
		

網友評論