如何使用MySQL(如SqlBulkCopy)与Linq to Entities进行批量插入

时间:2012-04-12 17:51:23

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

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

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

e.g。

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:-1)

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

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