Interface ICommandBatchPreparer
- Namespace
- Microsoft.EntityFrameworkCore.Update
- Assembly
- Microsoft.EntityFrameworkCore.Relational.dll
A service for preparing a list of ModificationCommandBatchs for the entities represented by the given list of Microsoft.EntityFrameworkCore.Update.IUpdateEntrys.
This type is typically used by database providers; it is generally not used in application code.
public interface ICommandBatchPreparer
Remarks
The service lifetime is Scoped. This means that each Microsoft.EntityFrameworkCore.DbContext instance will use its own instance of this service. The implementation may depend on other services registered with any lifetime. The implementation does not need to be thread-safe.
See Implementation of database providers and extensions for more information and examples.
Methods
BatchCommands(IList<IUpdateEntry>, IUpdateAdapter)
Creates the command batches needed to insert/update/delete the entities represented by the given list of Microsoft.EntityFrameworkCore.Update.IUpdateEntrys.
IEnumerable<ModificationCommandBatch> BatchCommands(IList<IUpdateEntry> entries, IUpdateAdapter updateAdapter)
Parameters
entriesIList<IUpdateEntry>The entries that represent the entities to be modified.
updateAdapterIUpdateAdapterThe model data.
Returns
- IEnumerable<ModificationCommandBatch>
The list of batches to execute.
CreateCommandBatches(IEnumerable<IReadOnlyModificationCommand>, bool)
Given a set of modification commands, returns one more ready-to-execute batches for those commands, taking into account e.g. maximum batch sizes and other batching constraints.
IEnumerable<ModificationCommandBatch> CreateCommandBatches(IEnumerable<IReadOnlyModificationCommand> commandSet, bool moreCommandSets)
Parameters
commandSetIEnumerable<IReadOnlyModificationCommand>The set of commands to be organized in batches.
moreCommandSetsboolWhether more command sets are expected after this one within the same save operation.
Returns
- IEnumerable<ModificationCommandBatch>
The list of batches to execute.