Visitar URL original
Transaction

Transaction options in EF Extensions

BulkSaveChanges

As SaveChanges, BulkSaveChanges already save all entities within an internal transaction. So, there is nothing to do.

However, if you start a transaction within Entity Framework, BulkSaveChanges will honor it and will use this transaction instead of creating an internal transaction.

var transaction = context.Database.BeginTransaction();
try
{
	context.BulkSaveChanges();
	transaction.Commit();
}
catch
{
	transaction.Rollback();
}

Try it in EF Core | Try it in EF6

Bulk Operations

Bulk Operations such as BulkInsert, BulkUpdate, BulkDelete don't use a transaction by default. This is your responsibility to handle.

If you start a transaction within Entity Framework, Bulk Operations will honor it.

var transaction = context.Database.BeginTransaction();
try
{
	context.BulkInsert(list1);
	context.BulkInsert(list2);
	transaction.Commit();
}
catch
{
	transaction.Rollback();
}

Try it in EF Core | Try it in EF6


Last updated: 2025-06-24
Author:


Contents