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="/?originalUrl=https%3A%2F%2Fentityframework-extensions.net%2Fcontext.Database.BeginTransaction()%3B%253Cspan%2520class%3D"keyword">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="/?originalUrl=https%3A%2F%2Fentityframework-extensions.net%2Fcontext.Database.BeginTransaction()%3B%253Cspan%2520class%3D"keyword">try { context.BulkInsert(list1); context.BulkInsert(list2); transaction.Commit(); } catch { transaction.Rollback(); }
Try it in EF Core | Try it in EF6
ZZZ Projects