zoukankan      html  css  js  c++  java
  • C# 大数据插入代码

    640?wx_fmt=png

     public static void BulkInsert<T>(string connection ,string tableName, IList<T> list)

            {

                using (var bulkCopy = new SqlBulkCopy(connection))

                {

                    bulkCopy.BatchSize = list.Count;

                    bulkCopy.DestinationTableName = tableName;


                    var table = new DataTable();

                    var props = TypeDescriptor.GetProperties(typeof(T))

                                               .Cast<PropertyDescriptor>()

                                               .Where(propertyInfo => propertyInfo.PropertyType.Namespace.Equals("System"))

                                               .ToArray();


                    foreach (var propertyInfo in props)

                    {

                        bulkCopy.ColumnMappings.Add(propertyInfo.Name, propertyInfo.Name);

                        table.Columns.Add(propertyInfo.Name, Nullable.GetUnderlyingType(propertyInfo.PropertyType) ?? propertyInfo.PropertyType);

                    }


                    var values = new object[props.Length];

                    foreach (var item in list)

                    {

                        for (var i = 0; i < values.Length; i++)

                        {

                            values[i] = props[i].GetValue(item);

                        }


                        table.Rows.Add(values);

                    }


                    bulkCopy.WriteToServer(table);

                }

            }


  • 相关阅读:
    前端开发框架
    用C#实现的条形码和二维码编码解码器
    Razor视图语法
    asp.net微软图表控件MsChart
    高并发下的Node.js与负载均衡
    GCC知识
    Mongodb学习(安装篇): 在centos下的安装
    代码评审
    构建一个前端库做一个富客户端的基类
    企业级应用架构(NHibernater+Spring.Net+MVC3+WCF)_3.0
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12351401.html
Copyright © 2011-2022 走看看