【问题标题】:How to do Bulk Insert using MySQL (like SqlBulkCopy) with Linq to Entities如何使用 MySQL(如 SqlBulkCopy)和 Linq to Entities 进行批量插入
【发布时间】:2012-04-12 17:51:23
【问题描述】:

您好,我需要一种将大量记录插入 MySQL 数据库表的方法。

我正在使用 Linq to Entities,使用 foreach 循环和插入每条记录的方法太慢了。

例如

foreach(var item in items){
    context.Add(item);
    context.SubmitChanges();
}

.net 连接器中是否有类似 MySql 命令:LOAD DATA INFILE 的方法?

【问题讨论】:

    标签: mysql linq entity-framework linq-to-entities entity


    【解决方案1】:

    实体框架(和 Linq-to-entities)不支持批量插入。批量插入必须始终通过数据库服务器的本机功能来完成。要使用 .NET 连接器中的 LOAD DATA INFILE,请检查 MySqlBulkLoader class

    【讨论】:

    • 好的,感谢您的帮助。可惜 MySql 没有更好的选择。
    【解决方案2】:

    这篇文章看起来很有希望。我正在我自己的应用程序中尝试一下。此外,它不会干扰您的设计器,因为它是一个部分类。

    http://www.codeproject.com/Tips/297582/Using-bulk-insert-with-your-linq-to-sql-datacontex

    另外,MSDN 上有一个类做同样的事情:

    http://archive.msdn.microsoft.com/LinqEntityDataReader

    我在这篇 SO 帖子中重新实现了该功能:

    bulk insert with linq-to-sql

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 2011-06-23
      • 1970-01-01
      • 2012-02-12
      • 2011-07-28
      相关资源
      最近更新 更多