Entity Framework Extensions Extend your DbContext with high-performance bulk operations

Downloaded more than
times !
// Bulk Operations

// Batch Operations
context.Customers.Where(x => !x.IsActive)
context.Customers.Where(x => !x.IsActive)
.UpdateFromQuery(x =>
new Customer {IsActive = true});

What's EF Extensions

Entity Framework Extensions extends your DbContext with high-performance bulk operations: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge, and more.

Who is it for?

If you are looking for performance enhancement, more flexibility, LINQ Dynamic, and an outstanding customer support, then EF Extensions is for you!

Why should you use it?

EF Extensions improve your application and database performance by reducing the number of database round-trips. On average, people report performance increase by 25x.

Our achievements

2000+ Customers
75+ Countries
4000+ Requests closed
10 000 000+downloads
1 000 000+daily visitors

What we achieved over the last 4 years has grown beyond our hopes. That motivates us to continue to grow and improve all our projects. Every day, we are committed to listening to our clients to help ease the daily dev workload as much as possible.

Bulk SaveChanges

Make your applications 10x to 50x times more scalable without any configuration and effort.

  • Easy to use
  • Easy to customize
  • Easy to maintain
EFE - BulkSaveChanges Example
// Easy to use

// Easy to customize
context.BulkSaveChanges(options => options.BatchSize = 1000);

Bulk Operations

Add flexibility to your toolbox to cover your scenarios with the best performance.

  • Bulk Insert
  • Bulk Update
  • Bulk Delete
  • Bulk Merge
  • Bulk Synchronize
EFE - Bulk Operations Example
// Include childs entities
options => options.IncludeGraph = true);

// Use custom key
context.BulkMerge(customers, options => {
options.ColumnPrimaryKeyExpression =
customer => customer.Code;

Batch Operations

Perform your operations from LINQ Query without loading entities in the context.

  • DeleteFromQuery
  • UpdateFromQuery
EFE - Batch Operations Example
// DELETE all inactive customers
context.Customers.Where(x => !x.IsActive)

// UPDATE all inactive customers
context.Customers.Where(x => !x.IsActive)
.UpdateFromQuery(x => new Customer {IsActive = true});