C# 批量插入数据


使用SqlBulk

连接字符串:

private static string connstring = ConfigurationManager.ConnectionStrings["bulkConntection"].ToString();

List detail = ModelConvertHelper.ConvertToModel(table).ToList();
                
using (SqlConnection conn = new SqlConnection(connstring))
{
    conn.Open();
    SqlTransaction sqlTran = conn.BeginTransaction();
    using (SqlBulkCopy bcp = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, sqlTran))
    {
    //表名
        bcp.DestinationTableName = "WkOrderDetail";
        try
        {
            //实体集合
            var dt = DataTableHelper.ToDataTable(detail);
            bcp.WriteToServer(dt);
            sqlTran.Commit();
        }
        catch (Exception e)
        {
            sqlTran.Rollback();
        }
        finally
        {
            sqlTran.Dispose();
        }
    }
}