图书馆的ADO.NET快速批量插入数据从.csv文件的数据库? [英] Libraries for ADO.NET to rapidly bulk insert data into a database from a .csv file?

查看:167
本文介绍了图书馆的ADO.NET快速批量插入数据从.csv文件的数据库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道,如果你能推荐任何先进的ADO.NET库与数据库的工作。

I'd like to know if you can recommend any advanced ADO.NET libraries for working with databases.

我发现LINQ到实体是伟大的拉动数据从数据库,而不是为将数据插入到数据库中非常有用。它缺少的功能如快速批量插入,剔除重复的,最先进的功能,你可以用纯SQL实现。

I've discovered that LINQ-to-Entities is great for pulling data out of databases, but not at all useful for inserting data into databases. Its missing functionality like fast bulk insert, culling of duplicates, and most of the advanced functionality you can achieve with pure SQL.

所以:你可以推荐一些ADO.NET库,提供先进的功能种类的LINQ到实体缺少

So: can you recommend some ADO.NET libraries that offer the sorts of advanced functionality that LINQ-to-Entities is missing?

推荐答案

在ADO.net 使用SqlBulkCopy 类能够快速,大规模的上传记录到表:

The ADO.net SqlBulkCopy class enables quick, mass upload of records into a table:

    DataTable dt = s_EmptyUploadTable.Copy();
    foreach (var itm in yourList) {
        DataRow row = dt.NewRow();
        row["Field1"] = itm.Field1;
        row["Field2"] = itm.Field2;
        dt.Rows.Add(row);
    }
    using (SqlConnection cn = new SqlConnection(yourConnectionString)) {
        cn.Open();
        using (SqlBulkCopy bulkCopy = new SqlBulkCopy(cn)) {
            bulkCopy.DestinationTableName = "dbo.YourActualSQLServerTableName";
            bulkCopy.WriteToServer(dt);
        }
        cn.Close();
    }

这篇关于图书馆的ADO.NET快速批量插入数据从.csv文件的数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆