Class BaseNonEventDomainRepository<TDomain, TModel, TDomainSnapshot>
Namespace: Casewhere.Runtime.Workflows
Assembly: Casewhere.Runtime.dll
public abstract class BaseNonEventDomainRepository<TDomain, TModel, TDomainSnapshot> : IBaseNonEventDomainRepository<TDomain> where TDomain : SnapshotAggregateRoot, new() where TModel : class, IIdentity where TDomainSnapshot : SnapshotObject
Type Parameters
TDomain
TModel
TDomainSnapshot
Inheritance
object ← BaseNonEventDomainRepository<TDomain, TModel, TDomainSnapshot>
Implements
IBaseNonEventDomainRepository<TDomain>
Inherited Members
object.ToString(), object.Equals(object), object.Equals(object, object), object.ReferenceEquals(object, object), object.GetHashCode(), object.GetType(), object.MemberwiseClone()
Extension Methods
ObjectExtension.ConvertToBsonValue(object), EnumExtensions.DeepClone<BaseNonEventDomainRepository<TDomain, TModel, TDomainSnapshot>>(BaseNonEventDomainRepository<TDomain, TModel, TDomainSnapshot>)
Constructors
BaseNonEventDomainRepository(IDocumentSession)
public BaseNonEventDomainRepository(IDocumentSession session)
Parameters
session
IDocumentSession
Fields
_cachedDomains
protected readonly ConcurrentDictionary<Guid, TDomain> _cachedDomains
Field Value
ConcurrentDictionary<Guid, TDomain>
_session
protected readonly IDocumentSession _session
Field Value
IDocumentSession
Methods
Add(TDomain)
public virtual void Add(TDomain domain)
Parameters
domain
TDomain
CommitSession(Predicate<TDomain>)
public virtual void CommitSession(Predicate<TDomain> predicate = null)
Parameters
predicate
Predicate<TDomain>
Exists(Guid)
public virtual bool Exists(Guid id)
Parameters
id
Guid
Returns
Get(Guid)
public virtual TDomain Get(Guid id)
Parameters
id
Guid
Returns
TDomain
OnModelLoaded(TModel)
protected virtual void OnModelLoaded(TModel model)
Parameters
model
TModel
TryGet(Guid, out TDomain)
public bool TryGet(Guid id, out TDomain entity)
Parameters
id
Guid
entity
TDomain