Table of Contents

Class EfCoreAggregateRepository<TEntity, TKey, TMarker>

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

Provides an implementation of the EfCoreRepository<TEntity, TKey> that is optimized for Domain Driven Design.

public class EfCoreAggregateRepository<TEntity, TKey, TMarker> : EfCoreRepository<TEntity, TKey>, IAggregateRepository<TEntity, TKey, TMarker>, IAggregateRepository<TEntity, TKey>, IPersistentRepository<TEntity, TKey, TMarker>, IPersistentRepository<TEntity, TKey>, IWritableRepository<TEntity, TKey, TMarker>, IWritableRepository<TEntity, TKey>, IReadableRepository<TEntity, TKey, TMarker>, IReadableRepository<TEntity, TKey>, ISearchableRepository<TEntity, TKey, TMarker>, ISearchableRepository<TEntity, TKey>, IDeletableRepository<TEntity, TKey, TMarker>, IRepository<TEntity, TKey, TMarker>, IDependencyInjectionMarker<TMarker>, IDeletableRepository<TEntity, TKey>, IRepository<TEntity, TKey> where TEntity : class, IAggregateRoot<IDomainEvent, TKey>

Type Parameters

TEntity

The type of the entity.

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
EfCoreRepository<TEntity, TKey>
EfCoreAggregateRepository<TEntity, TKey, TMarker>
Implements
IAggregateRepository<TEntity, TKey, TMarker>
IAggregateRepository<TEntity, TKey>
IPersistentRepository<TEntity, TKey, TMarker>
IPersistentRepository<TEntity, TKey>
IWritableRepository<TEntity, TKey, TMarker>
IWritableRepository<TEntity, TKey>
IReadableRepository<TEntity, TKey, TMarker>
IReadableRepository<TEntity, TKey>
ISearchableRepository<TEntity, TKey, TMarker>
ISearchableRepository<TEntity, TKey>
IDeletableRepository<TEntity, TKey, TMarker>
IRepository<TEntity, TKey, TMarker>
IDeletableRepository<TEntity, TKey>
IRepository<TEntity, TKey>
Inherited Members

Constructors

EfCoreAggregateRepository(IEfCoreDataSource<TMarker>)

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

public EfCoreAggregateRepository(IEfCoreDataSource<TMarker> source)

Parameters

source IEfCoreDataSource<TMarker>

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

See Also

EfCoreRepository<TEntity, TKey>
IPersistentRepository<TEntity, TKey, TMarker>