您好我需要一种方法将大量记录插入MySQL数据库表。
我正在使用Linq to Entities和使用foreach循环并插入每条记录的方法太慢。
e.g。
foreach(var item in items){
context.Add(item);
context.SubmitChanges();
}
是否有类似MySql命令的方法:.net连接器中有LOAD DATA INFILE?
答案 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帖子中重新实现了这个功能: