2012-04-12 6 views
4

こんにちは、MySQLデータベーステーブルに多数のレコードを挿入する方法が必要です。Linq to Entitiesを使用してMySQL(SqlBulkCopyなど)を使用して一括挿入する方法

私はEntityにLinqを使用していますが、foreachループを使用して各レコードを挿入する方法が遅すぎます。

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

mysqlコマンドのような方法があります:.NETコネクタで利用可能なは、LOAD DATA INFILE?

答えて

3

エンティティフレームワーク(およびLinq-to-entities)は一括挿入をサポートしていません。一括挿入は、常にデータベースサーバーのネイティブ機能を使用して実行する必要があります。 .NETコネクタチェックMySqlBulkLoader classからLOAD DATA INFILEを使用するには。

+0

助けてくれてありがとう。 Shame MySqlには良い選択肢がありません。 –

-1

この投稿は有望です。私はそれを自分のアプリケーションで試しています。さらに、部分クラスであるため、デザイナーに干渉しません。

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

私はこのSO記事で関数を再実装しました::

bulk insert with linq-to-sql

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

また、ここでは同じことを行いMSDN上のクラスです

関連する問題