Entity Framework Tutorial 一括マージ
前書き
BulkMergeを使用すると、複数のエンティティを一括操作とマージすることでEFのパフォーマンスを向上させることができます。
なぜBulkMergeなのか
巨大なパフォーマンスの向上のために、Entity Frameworkのは/更新を挿入するエンティティごとに1回のデータベース・ラウンドトリップを作ります。
そのため、10,000個のエンティティを変更する場合は、1万回のデータベースラウンドトリップが必要になり、これは非常に遅くなります。 BulkMergeを使用するには、サードパーティのライブラリを使用する必要があります。
オペレーション | 1,000エンティティ | 2,000のエンティティ | 5,000エンティティ |
---|---|---|---|
BulkMerge | 65ミリ秒 | 80ミリ秒 | 110ミリ秒 |
変更内容を保存 | 1000ミリ秒 | 2,000ミリ秒 | 5,000ミリ秒 |
グーグル関連検索
StackOverflow関連の質問
// using Z.EntityFramework.Extensions; // Don't forget to include this. // Easy to use context.BulkMerge(list); // Easy to customize context.BulkMerge(list, bulk => bulk.BatchSize = 100);
サポートされているライブラリ
としょうかん | タイプ | EFバージョン | サポート | Doc | 特徴 |
---|---|---|---|---|---|
Z.EntityFramework.Extensions | プロ | EF6 | <1日 | はい | 一括保存の変更 一括挿入 一括更新 一括削除 一括マージ |