BulkSaveChanges

Introduction

BulkSaveChanges allows you to improve EF performance by saving multiples entities with bulk operations.

Why BulkSaveChanges?

For HUGE performance gains, Entity Framework makes one database round-trip for each entity to insert/update/delete.

So if you want to save (add, modify or remove) 10,000 entities, 10,000 database round trip will be required which is INSANELY slow. To use BulkSaveChanges, you will need to use a third-party library.

Operations 1,000 Entities 2,000 Entities 5,000 Entities
BulKSaveChanges 90 ms 150 ms 350 ms
SaveChanges 1,000 ms 2,000 ms 5,000 ms

Example

// using Z.EntityFramework.Extensions; // Don't forget to include this.

// Easy to use
context.BulkSaveChanges();

// Easy to customize
context.BulkSaveChanges(bulk => bulk.BatchSize = 100);

Supported Libraries

Library Type EF Version Support Doc Features
Z.EntityFramework.Extensions PRO EF6 < 1 Day Yes Bulk SaveChanges
Bulk Insert
Bulk Update
Bulk Delete
Bulk Merge