Temporary Table

TemporaryTableBatchByTable

Gets or sets the number of batches a temporary table can contain. This option may create multiple temporary tables when the number of batches to execute exceeds the specified limit.

context.BulkSaveChanges(options =>
{
   options.TemporaryTableBatchByTable = 0; // unlimited
});

Try it online

TemporaryTableInsertBatchSize

Gets or sets the number of records to use in a batch when inserting in a temporary table. This number is recommended to be high.

context.BulkSaveChanges(options =>
{
   options.TemporaryTableInsertBatchSize = 50000;
});

Try it online

TemporaryTableMinRecord

Gets or sets the minimum number of records to use a temporary table instead of using SQL derived table.

context.BulkSaveChanges(options =>
{
   options.TemporaryTableMinRecord = 25;
});

Try it online

TemporaryTableSchemaName

Gets or sets the schema name to use for the temporary table.

context.BulkSaveChanges(options =>
{
   options.TemporaryTableSchemaName = "zzz";
});

Try it online

TemporaryTableUseTableLock

Gets or sets if the temporary table must be locked when inserting records into it.

context.BulkSaveChanges(options =>
{
   options.TemporaryTableUseTableLock = true;
});

Try it online

UsePermanentTable

Gets or sets if the library should create and drop a permanent table instead of using a temporary table.

context.BulkSaveChanges(options =>
{
   options.UsePermanentTable = true;
});

Try it online