Show / Hide Table of Contents

Class EfCoreRepository<TDbContext, TEntity>

Inheritance
object
BasicRepositoryBase<TEntity>
RepositoryBase<TEntity>
EfCoreRepository<TDbContext, TEntity>
EfCoreRepository<TDbContext, TEntity, TKey>
EfCoreEntityTagRepository
EFCoreDocumentRepository
Implements
IServiceProviderAccessor
IUnitOfWorkEnabled
IUnitOfWorkManagerAccessor
IEfCoreRepository<TEntity>
IRepository<TEntity>
IReadOnlyRepository<TEntity>
IBasicRepository<TEntity>
IReadOnlyBasicRepository<TEntity>
IRepository
Inherited Members
RepositoryBase<TEntity>.GetAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)
RepositoryBase<TEntity>.ApplyDataFilters<TQueryable>(TQueryable)
RepositoryBase<TEntity>.ApplyDataFilters<TQueryable, TOtherEntity>(TQueryable)
BasicRepositoryBase<TEntity>.GetCancellationToken(CancellationToken)
BasicRepositoryBase<TEntity>.ShouldTrackingEntityChange()
BasicRepositoryBase<TEntity>.LazyServiceProvider
BasicRepositoryBase<TEntity>.ServiceProvider
BasicRepositoryBase<TEntity>.DataFilter
BasicRepositoryBase<TEntity>.CurrentTenant
BasicRepositoryBase<TEntity>.AsyncExecuter
BasicRepositoryBase<TEntity>.UnitOfWorkManager
BasicRepositoryBase<TEntity>.CancellationTokenProvider
BasicRepositoryBase<TEntity>.LoggerFactory
BasicRepositoryBase<TEntity>.Logger
BasicRepositoryBase<TEntity>.EntityChangeTrackingProvider
BasicRepositoryBase<TEntity>.IsChangeTrackingEnabled
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Volo.Abp.Domain.Repositories.EntityFrameworkCore
Assembly: Volo.Abp.EntityFrameworkCore.dll
Syntax
public class EfCoreRepository<TDbContext, TEntity> : RepositoryBase<TEntity>, IServiceProviderAccessor, IUnitOfWorkEnabled, IUnitOfWorkManagerAccessor, IEfCoreRepository<TEntity>, IRepository<TEntity>, IReadOnlyRepository<TEntity>, IBasicRepository<TEntity>, IReadOnlyBasicRepository<TEntity>, IRepository where TDbContext : IEfCoreDbContext where TEntity : class, IEntity
Type Parameters
Name Description
TDbContext
TEntity

Constructors

EfCoreRepository(IDbContextProvider<TDbContext>)

Declaration
public EfCoreRepository(IDbContextProvider<TDbContext> dbContextProvider)
Parameters
Type Name Description
IDbContextProvider<TDbContext> dbContextProvider

Properties

AbpEntityOptions

Declaration
protected virtual AbpEntityOptions<TEntity> AbpEntityOptions { get; }
Property Value
Type Description
AbpEntityOptions<TEntity>

BulkOperationProvider

Declaration
public IEfCoreBulkOperationProvider? BulkOperationProvider { get; }
Property Value
Type Description
IEfCoreBulkOperationProvider

DbContext

Declaration
[Obsolete("Use GetDbContextAsync() method.")]
protected virtual TDbContext DbContext { get; }
Property Value
Type Description
TDbContext

DbSet

Declaration
[Obsolete("Use GetDbSetAsync() method.")]
public virtual DbSet<TEntity> DbSet { get; }
Property Value
Type Description
DbSet<TEntity>

GuidGenerator

Declaration
public virtual IGuidGenerator GuidGenerator { get; }
Property Value
Type Description
IGuidGenerator

Methods

CheckAndSetId(TEntity)

Declaration
protected virtual void CheckAndSetId(TEntity entity)
Parameters
Type Name Description
TEntity entity

DeleteAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

Declaration
public override Task DeleteAsync(Expression<Func<TEntity, bool>> predicate, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Expression<Func<TEntity, bool>> predicate
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
RepositoryBase<TEntity>.DeleteAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

DeleteAsync(TEntity, bool, CancellationToken)

Declaration
public override Task DeleteAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TEntity entity
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
BasicRepositoryBase<TEntity>.DeleteAsync(TEntity, bool, CancellationToken)

DeleteDirectAsync(Expression<Func<TEntity, bool>>, CancellationToken)

Declaration
public override Task DeleteDirectAsync(Expression<Func<TEntity, bool>> predicate, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Expression<Func<TEntity, bool>> predicate
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
RepositoryBase<TEntity>.DeleteDirectAsync(Expression<Func<TEntity, bool>>, CancellationToken)

DeleteManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

Declaration
public override Task DeleteManyAsync(IEnumerable<TEntity> entities, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
IEnumerable<TEntity> entities
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
BasicRepositoryBase<TEntity>.DeleteManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

EnsureCollectionLoadedAsync<TProperty>(TEntity, Expression<Func<TEntity, IEnumerable<TProperty>>>, CancellationToken)

Declaration
public virtual Task EnsureCollectionLoadedAsync<TProperty>(TEntity entity, Expression<Func<TEntity, IEnumerable<TProperty>>> propertyExpression, CancellationToken cancellationToken = default) where TProperty : class
Parameters
Type Name Description
TEntity entity
Expression<Func<TEntity, IEnumerable<TProperty>>> propertyExpression
CancellationToken cancellationToken
Returns
Type Description
Task
Type Parameters
Name Description
TProperty

EnsurePropertyLoadedAsync<TProperty>(TEntity, Expression<Func<TEntity, TProperty?>>, CancellationToken)

Declaration
public virtual Task EnsurePropertyLoadedAsync<TProperty>(TEntity entity, Expression<Func<TEntity, TProperty?>> propertyExpression, CancellationToken cancellationToken = default) where TProperty : class
Parameters
Type Name Description
TEntity entity
Expression<Func<TEntity, TProperty>> propertyExpression
CancellationToken cancellationToken
Returns
Type Description
Task
Type Parameters
Name Description
TProperty

FindAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

Declaration
public override Task<TEntity?> FindAsync(Expression<Func<TEntity, bool>> predicate, bool includeDetails = true, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Expression<Func<TEntity, bool>> predicate
bool includeDetails
CancellationToken cancellationToken
Returns
Type Description
Task<TEntity>
Overrides
RepositoryBase<TEntity>.FindAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

GetCountAsync(CancellationToken)

Declaration
public override Task<long> GetCountAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task<long>
Overrides
BasicRepositoryBase<TEntity>.GetCountAsync(CancellationToken)

GetDbConnectionAsync()

Declaration
protected Task<IDbConnection> GetDbConnectionAsync()
Returns
Type Description
Task<IDbConnection>

GetDbContextAsync()

Declaration
protected virtual Task<TDbContext> GetDbContextAsync()
Returns
Type Description
Task<TDbContext>

GetDbSetAsync()

Declaration
protected Task<DbSet<TEntity>> GetDbSetAsync()
Returns
Type Description
Task<DbSet<TEntity>>

GetDbTransactionAsync()

Declaration
protected Task<IDbTransaction?> GetDbTransactionAsync()
Returns
Type Description
Task<IDbTransaction>

GetListAsync(bool, CancellationToken)

Declaration
public override Task<List<TEntity>> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
bool includeDetails
CancellationToken cancellationToken
Returns
Type Description
Task<List<TEntity>>
Overrides
BasicRepositoryBase<TEntity>.GetListAsync(bool, CancellationToken)

GetListAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

Declaration
public override Task<List<TEntity>> GetListAsync(Expression<Func<TEntity, bool>> predicate, bool includeDetails = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
Expression<Func<TEntity, bool>> predicate
bool includeDetails
CancellationToken cancellationToken
Returns
Type Description
Task<List<TEntity>>
Overrides
BasicRepositoryBase<TEntity>.GetListAsync(Expression<Func<TEntity, bool>>, bool, CancellationToken)

GetPagedListAsync(int, int, string, bool, CancellationToken)

Declaration
public override Task<List<TEntity>> GetPagedListAsync(int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
int skipCount
int maxResultCount
string sorting
bool includeDetails
CancellationToken cancellationToken
Returns
Type Description
Task<List<TEntity>>
Overrides
BasicRepositoryBase<TEntity>.GetPagedListAsync(int, int, string, bool, CancellationToken)

GetQueryable()

Declaration
[Obsolete("Use GetQueryableAsync method.")]
protected override IQueryable<TEntity> GetQueryable()
Returns
Type Description
IQueryable<TEntity>
Overrides
RepositoryBase<TEntity>.GetQueryable()

GetQueryableAsync()

Declaration
public override Task<IQueryable<TEntity>> GetQueryableAsync()
Returns
Type Description
Task<IQueryable<TEntity>>
Overrides
RepositoryBase<TEntity>.GetQueryableAsync()

InsertAsync(TEntity, bool, CancellationToken)

Declaration
public override Task<TEntity> InsertAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TEntity entity
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task<TEntity>
Overrides
BasicRepositoryBase<TEntity>.InsertAsync(TEntity, bool, CancellationToken)

InsertManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

Declaration
public override Task InsertManyAsync(IEnumerable<TEntity> entities, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
IEnumerable<TEntity> entities
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
BasicRepositoryBase<TEntity>.InsertManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

SaveChangesAsync(CancellationToken)

Declaration
protected override Task SaveChangesAsync(CancellationToken cancellationToken)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
BasicRepositoryBase<TEntity>.SaveChangesAsync(CancellationToken)

TrySetGuidId(IEntity<Guid>)

Declaration
protected virtual void TrySetGuidId(IEntity<Guid> entity)
Parameters
Type Name Description
IEntity<Guid> entity

UpdateAsync(TEntity, bool, CancellationToken)

Declaration
public override Task<TEntity> UpdateAsync(TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
TEntity entity
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task<TEntity>
Overrides
BasicRepositoryBase<TEntity>.UpdateAsync(TEntity, bool, CancellationToken)

UpdateManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

Declaration
public override Task UpdateManyAsync(IEnumerable<TEntity> entities, bool autoSave = false, CancellationToken cancellationToken = default)
Parameters
Type Name Description
IEnumerable<TEntity> entities
bool autoSave
CancellationToken cancellationToken
Returns
Type Description
Task
Overrides
BasicRepositoryBase<TEntity>.UpdateManyAsync(IEnumerable<TEntity>, bool, CancellationToken)

WithDetails()

Declaration
[Obsolete("Use WithDetailsAsync")]
public override IQueryable<TEntity> WithDetails()
Returns
Type Description
IQueryable<TEntity>
Overrides
RepositoryBase<TEntity>.WithDetails()

WithDetails(params Expression<Func<TEntity, object>>[])

Declaration
[Obsolete("Use WithDetailsAsync method.")]
public override IQueryable<TEntity> WithDetails(params Expression<Func<TEntity, object>>[] propertySelectors)
Parameters
Type Name Description
Expression<Func<TEntity, object>>[] propertySelectors
Returns
Type Description
IQueryable<TEntity>
Overrides
RepositoryBase<TEntity>.WithDetails(params Expression<Func<TEntity, object>>[])

WithDetailsAsync()

Declaration
public override Task<IQueryable<TEntity>> WithDetailsAsync()
Returns
Type Description
Task<IQueryable<TEntity>>
Overrides
RepositoryBase<TEntity>.WithDetailsAsync()

WithDetailsAsync(params Expression<Func<TEntity, object>>[])

Declaration
public override Task<IQueryable<TEntity>> WithDetailsAsync(params Expression<Func<TEntity, object>>[] propertySelectors)
Parameters
Type Name Description
Expression<Func<TEntity, object>>[] propertySelectors
Returns
Type Description
Task<IQueryable<TEntity>>
Overrides
RepositoryBase<TEntity>.WithDetailsAsync(params Expression<Func<TEntity, object>>[])

Implements

IServiceProviderAccessor
IUnitOfWorkEnabled
IUnitOfWorkManagerAccessor
IEfCoreRepository<TEntity>
IRepository<TEntity>
IReadOnlyRepository<TEntity>
IBasicRepository<TEntity>
IReadOnlyBasicRepository<TEntity>
IRepository

Extension Methods

AbpObjectExtensions.As<T>(object)
AbpObjectExtensions.To<T>(object)
LockExtensions.Locking(object, Action)
LockExtensions.Locking<TResult>(object, Func<TResult>)
AbpObjectExtensions.If<T>(T, bool, Action<T>)
AbpObjectExtensions.If<T>(T, bool, Func<T, T>)
AbpObjectExtensions.IsIn<T>(T, IEnumerable<T>)
AbpObjectExtensions.IsIn<T>(T, params T[])
AbpQueryableExtensions.OrderByIf<T, TQueryable>(TQueryable, bool, string)
AbpQueryableExtensions.PageBy<T, TQueryable>(TQueryable, int, int)
AbpQueryableExtensions.WhereIf<T, TQueryable>(TQueryable, bool, Expression<Func<T, bool>>)
AbpQueryableExtensions.WhereIf<T, TQueryable>(TQueryable, bool, Expression<Func<T, int, bool>>)
AbpOpenIddictQueryableExtensions.SkipIf<T, TQueryable>(TQueryable, bool, int?)
AbpOpenIddictQueryableExtensions.TakeIf<T, TQueryable>(TQueryable, bool, int?)
LockExtensions.Locking<T>(T, Action<T>)
LockExtensions.Locking<T, TResult>(T, Func<T, TResult>)
EfCoreRepositoryExtensions.GetDbContextAsync<TEntity>(IReadOnlyBasicRepository<TEntity>)
EfCoreRepositoryExtensions.GetDbContext<TEntity>(IReadOnlyBasicRepository<TEntity>)
EfCoreRepositoryExtensions.GetDbSetAsync<TEntity>(IReadOnlyBasicRepository<TEntity>)
EfCoreRepositoryExtensions.GetDbSet<TEntity>(IReadOnlyBasicRepository<TEntity>)
EfCoreRepositoryExtensions.ToEfCoreRepository<TEntity>(IReadOnlyBasicRepository<TEntity>)
In this article
Back to top Powered by ABP.IO Platform