internal static IQueryable <TEntity> SetTrackingOptions <TEntity>(this IQueryable <TEntity> query, QueryTracking queryTrackingOptions) where TEntity : class { if (queryTrackingOptions == QueryTracking.AsTracking) { return(query.AsTracking()); } return(EntityFrameworkQueryableExtensions.AsNoTracking(query)); }
public virtual async Task <TEntity> SingleOrDefault(Expression <Func <TEntity, bool> > predicate, QueryTracking queryTrackingOptions = QueryTracking.AsTracking) { return(await DbSet.SetTrackingOptions(queryTrackingOptions).SingleOrDefaultAsync(predicate)); }
public virtual async Task <IEnumerable <TEntity> > Find(Expression <Func <TEntity, bool> > predicate, QueryTracking queryTrackingOptions = QueryTracking.AsTracking) { return(await DbSet.SetTrackingOptions(queryTrackingOptions).Where(predicate).ToListAsync()); }
public virtual async Task <IEnumerable <TEntity> > FindRange <TValue>(Expression <Func <TEntity, TValue> > valueSelector, TValue[] entitiesIds, QueryTracking queryTrackingOptions = QueryTracking.AsTracking) { return(await DbSet.SetTrackingOptions(queryTrackingOptions).Search(valueSelector, entitiesIds).ToListAsync()); }
public virtual async Task <IEnumerable <TEntity> > GetAll(QueryTracking queryTrackingOptions = QueryTracking.AsTracking) { return(await DbSet.SetTrackingOptions(queryTrackingOptions).ToListAsync()); }