Table of Contents

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 IUpdateAdapter

The 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 bool

Whether more command sets are expected after this one within the same save operation.

Returns

IEnumerable<ModificationCommandBatch>

The list of batches to execute.