Table of Contents

Class ApplicationSaveChangesPipeline

Namespace
ProjectTemplate.Infrastructure.Data
Assembly
ProjectTemplate.Infrastructure.dll

Applies application-owned mutation, normalization, concurrency, and audit preparation during EF Core saves.

public sealed class ApplicationSaveChangesPipeline : IApplicationSaveChangesPipeline, IApplicationMutationAuditReceiptAccessor
Inheritance
ApplicationSaveChangesPipeline
Implements
Inherited Members

Constructors

ApplicationSaveChangesPipeline(ICurrentActorAccessor, IOptions<DataAccessOptions>, IApplicationAuditStore?, IApplicationAuditContextAccessor?, IApplicationAuditValuePolicy?, IApplicationMutationManifestBuilder?, IApplicationMutationManifestHasher?)

Initializes a new instance of the ApplicationSaveChangesPipeline class.

public ApplicationSaveChangesPipeline(ICurrentActorAccessor currentActorAccessor, IOptions<DataAccessOptions> dataAccessOptions, IApplicationAuditStore? auditStore = null, IApplicationAuditContextAccessor? auditContextAccessor = null, IApplicationAuditValuePolicy? auditValuePolicy = null, IApplicationMutationManifestBuilder? manifestBuilder = null, IApplicationMutationManifestHasher? manifestHasher = null)

Parameters

currentActorAccessor ICurrentActorAccessor
dataAccessOptions IOptions<DataAccessOptions>
auditStore IApplicationAuditStore
auditContextAccessor IApplicationAuditContextAccessor
auditValuePolicy IApplicationAuditValuePolicy
manifestBuilder IApplicationMutationManifestBuilder
manifestHasher IApplicationMutationManifestHasher

Properties

LastCompletedReceipt

public ApplicationMutationAuditReceipt? LastCompletedReceipt { get; }

Property Value

ApplicationMutationAuditReceipt

Methods

ApplyAfterSaveChanges(ApplicationDbContext)

Completes application save handling after EF Core persists tracked changes.

public bool ApplyAfterSaveChanges(ApplicationDbContext dbContext)

Parameters

dbContext ApplicationDbContext

The current application database context.

Returns

bool

true when additional audit records were appended; otherwise, false.

ApplyAfterSaveChangesAsync(ApplicationDbContext, CancellationToken)

Completes application save handling after EF Core asynchronously persists tracked changes.

public ValueTask<bool> ApplyAfterSaveChangesAsync(ApplicationDbContext dbContext, CancellationToken cancellationToken = default)

Parameters

dbContext ApplicationDbContext

The current application database context.

cancellationToken CancellationToken

A token that can cancel the operation.

Returns

ValueTask<bool>

true when additional audit records were appended; otherwise, false.

ApplyBeforeSaveChanges(ApplicationDbContext)

Applies application save preparation before EF Core persists tracked changes.

public bool ApplyBeforeSaveChanges(ApplicationDbContext dbContext)

Parameters

dbContext ApplicationDbContext

The current application database context.

Returns

bool

true when tracked changes should be persisted; otherwise, false.

ApplyBeforeSaveChangesAsync(ApplicationDbContext, CancellationToken)

Applies application save preparation before EF Core asynchronously persists tracked changes.

public ValueTask<bool> ApplyBeforeSaveChangesAsync(ApplicationDbContext dbContext, CancellationToken cancellationToken = default)

Parameters

dbContext ApplicationDbContext

The current application database context.

cancellationToken CancellationToken

A token that can cancel the operation.

Returns

ValueTask<bool>

true when tracked changes should be persisted; otherwise, false.