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
entries
IList<IUpdateEntry>The entries that represent the entities to be modified.
updateAdapter
IUpdateAdapterThe 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
commandSet
IEnumerable<IReadOnlyModificationCommand>The set of commands to be organized in batches.
moreCommandSets
boolWhether more command sets are expected after this one within the same save operation.
Returns
- IEnumerable<ModificationCommandBatch>
The list of batches to execute.