Class EntityRepositoryBase<TId, TEntity>
Provides a base class to all based repositories.
Inheritance
System.Object
Assembly: cs.temp.dll.dll
Syntax
public abstract class EntityRepositoryBase<TId, TEntity> : RepositoryBase where TEntity : class, IEntity
Type Parameters
Name |
Description |
TId |
The type of the entity's unique identifier.
|
TEntity |
The type of the entity managed by this repository.
|
Constructors
EntityRepositoryBase(IScopeAccessor, AppCaches, ILogger<EntityRepositoryBase<TId, TEntity>>)
Declaration
protected EntityRepositoryBase(IScopeAccessor scopeAccessor, AppCaches appCaches, ILogger<EntityRepositoryBase<TId, TEntity>> logger)
Parameters
Type |
Name |
Description |
IScopeAccessor |
scopeAccessor |
|
AppCaches |
appCaches |
|
ILogger<EntityRepositoryBase<TId, TEntity>> |
logger |
|
Properties
CachePolicy
Gets the repository cache policy
Declaration
protected IRepositoryCachePolicy<TEntity, TId> CachePolicy { get; }
Property Value
Type |
Description |
IRepositoryCachePolicy<TEntity, TId> |
|
DefaultOptions
Declaration
protected virtual RepositoryCachePolicyOptions DefaultOptions { get; }
Property Value
Type |
Description |
RepositoryCachePolicyOptions |
|
GlobalIsolatedCache
Gets the isolated cache for the
Declaration
protected IAppPolicyCache GlobalIsolatedCache { get; }
Property Value
Type |
Description |
IAppPolicyCache |
|
IsolatedCache
Declaration
protected IAppPolicyCache IsolatedCache { get; }
Property Value
Type |
Description |
IAppPolicyCache |
|
Logger
Declaration
protected ILogger<EntityRepositoryBase<TId, TEntity>> Logger { get; }
Property Value
Methods
Count(IQuery<TEntity>)
Returns an integer with the count of entities found with the passed in query
Declaration
public int Count(IQuery<TEntity> query)
Parameters
Type |
Name |
Description |
IQuery<TEntity> |
query |
|
Returns
Type |
Description |
System.Int32 |
|
CreateCachePolicy()
Create the repository cache policy
Declaration
protected virtual IRepositoryCachePolicy<TEntity, TId> CreateCachePolicy()
Returns
Type |
Description |
IRepositoryCachePolicy<TEntity, TId> |
|
Delete(TEntity)
Deletes the passed in entity
Declaration
public virtual void Delete(TEntity entity)
Parameters
Type |
Name |
Description |
TEntity |
entity |
|
Exists(TId)
Returns a boolean indicating whether an entity with the passed Id exists
Declaration
public bool Exists(TId id)
Parameters
Type |
Name |
Description |
TId |
id |
|
Returns
Type |
Description |
System.Boolean |
|
Get(TId)
Gets an entity by the passed in Id utilizing the repository's cache policy
Declaration
public TEntity Get(TId id)
Parameters
Type |
Name |
Description |
TId |
id |
|
Returns
Get(IQuery<TEntity>)
Gets a list of entities by the passed in query
Declaration
public IEnumerable<TEntity> Get(IQuery<TEntity> query)
Parameters
Type |
Name |
Description |
IQuery<TEntity> |
query |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<TEntity> |
|
GetBaseQuery(Boolean)
Declaration
protected abstract Sql<ISqlContext> GetBaseQuery(bool isCount)
Parameters
Type |
Name |
Description |
System.Boolean |
isCount |
|
Returns
GetBaseWhereClause()
Declaration
protected abstract string GetBaseWhereClause()
Returns
Type |
Description |
System.String |
|
GetDeleteClauses()
Declaration
protected abstract IEnumerable<string> GetDeleteClauses()
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<System.String> |
|
GetEntityId(TEntity)
Get the entity id for the
Declaration
protected virtual TId GetEntityId(TEntity entity)
Parameters
Type |
Name |
Description |
TEntity |
entity |
|
Returns
GetMany(TId[])
Gets all entities of type TEntity or a list according to the passed in Ids
Declaration
public IEnumerable<TEntity> GetMany(params TId[] ids)
Parameters
Type |
Name |
Description |
TId[] |
ids |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<TEntity> |
|
Declaration
protected virtual int PerformCount(IQuery<TEntity> query)
Parameters
Type |
Name |
Description |
IQuery<TEntity> |
query |
|
Returns
Type |
Description |
System.Int32 |
|
Declaration
protected virtual bool PerformExists(TId id)
Parameters
Type |
Name |
Description |
TId |
id |
|
Returns
Type |
Description |
System.Boolean |
|
Declaration
protected abstract TEntity PerformGet(TId id)
Parameters
Type |
Name |
Description |
TId |
id |
|
Returns
Declaration
protected abstract IEnumerable<TEntity> PerformGetAll(params TId[] ids)
Parameters
Type |
Name |
Description |
TId[] |
ids |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<TEntity> |
|
Declaration
protected abstract IEnumerable<TEntity> PerformGetByQuery(IQuery<TEntity> query)
Parameters
Type |
Name |
Description |
IQuery<TEntity> |
query |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<TEntity> |
|
PersistDeletedItem(TEntity)
Declaration
protected virtual void PersistDeletedItem(TEntity entity)
Parameters
Type |
Name |
Description |
TEntity |
entity |
|
PersistNewItem(TEntity)
Declaration
protected abstract void PersistNewItem(TEntity item)
Parameters
Type |
Name |
Description |
TEntity |
item |
|
PersistUpdatedItem(TEntity)
Declaration
protected abstract void PersistUpdatedItem(TEntity item)
Parameters
Type |
Name |
Description |
TEntity |
item |
|
Save(TEntity)
Adds or Updates an entity of type TEntity
Declaration
public virtual void Save(TEntity entity)
Parameters
Type |
Name |
Description |
TEntity |
entity |
|