Table of Contents

Class EfCoreTracedAggregateRepository<TEntity, TKey, TMarker>

Namespace
Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing
Assembly
Savvyio.Extensions.DependencyInjection.EFCore.Domain.EventSourcing.dll

Provides an implementation of the EfCoreTracedAggregateRepository<TEntity, TKey> that is optimized for Domain Driven Design and Event Sourcing.

public class EfCoreTracedAggregateRepository<TEntity, TKey, TMarker> : EfCoreTracedAggregateRepository<TEntity, TKey>, ITracedAggregateRepository<TEntity, TKey, TMarker>, ITracedAggregateRepository<TEntity, TKey>, IReadableRepository<TEntity, TKey, TMarker>, IReadableRepository<TEntity, TKey>, IWritableRepository<TEntity, TKey, TMarker>, IRepository<TEntity, TKey, TMarker>, IDependencyInjectionMarker<TMarker>, IWritableRepository<TEntity, TKey>, IRepository<TEntity, TKey> where TEntity : class, ITracedAggregateRoot<TKey>

Type Parameters

TEntity

The type of the entity that implements the TracedAggregateRoot<TKey> interface.

TKey

The type of the key that uniquely identifies the entity.

TMarker

The type used to mark the implementation that this repository represents. Optimized for Microsoft Dependency Injection.

Inheritance
EfCoreTracedAggregateRepository<TEntity, TKey, TMarker>
Implements
ITracedAggregateRepository<TEntity, TKey, TMarker>
IReadableRepository<TEntity, TKey, TMarker>
IReadableRepository<TEntity, TKey>
IWritableRepository<TEntity, TKey, TMarker>
IRepository<TEntity, TKey, TMarker>
IWritableRepository<TEntity, TKey>
IRepository<TEntity, TKey>
Inherited Members

Constructors

EfCoreTracedAggregateRepository(IEfCoreDataSource<TMarker>, IMarshaller)

Initializes a new instance of the EfCoreTracedAggregateRepository<TEntity, TKey, TMarker> class.

public EfCoreTracedAggregateRepository(IEfCoreDataSource<TMarker> source, IMarshaller marshaller)

Parameters

source IEfCoreDataSource<TMarker>

The IEfCoreDataSource<TMarker> that handles actual I/O communication with a source of data.

marshaller IMarshaller

The IMarshaller that is used when converting between ITracedDomainEvent and arbitrary data.

See Also

EfCoreTracedAggregateRepository<TEntity, TKey>
IReadableRepository<TEntity, TKey, TMarker>
IWritableRepository<TEntity, TKey, TMarker>