private IQueryable <TEntity> Include(params Expression <Func <TEntity, object> >[] includeProperties) { IQueryable <TEntity> query = DataSet.AsNoTracking(); return(includeProperties .Aggregate(query, (current, includeProperty) => current.Include(includeProperty))); }
public async Task <T> GetByIdAsync(Guid id, QueryCriteria <T> queryCriteria) { var dataSet = queryCriteria.AsNoTracking ? DataSet.AsNoTracking() : DataSet; var entity = await dataSet.Where(e => e.Id == id).ApplyQueryCriteria(queryCriteria).SingleOrDefaultAsync(); return(entity); }
public async Task <int> CountAsync(QueryCriteria <T> queryCriteria) { var queryResult = new QueryResult <T>(); var dataSet = queryCriteria.AsNoTracking ? DataSet.AsNoTracking() : DataSet; var resultCount = await dataSet.ApplyQueryCriteria(queryCriteria, queryResult).CountAsync(); return(resultCount); }
public async Task <QueryResult <T> > QueryAsync(QueryCriteria <T> queryCriteria) { var queryResult = new QueryResult <T>(); var dataSet = queryCriteria.AsNoTracking ? DataSet.AsNoTracking() : DataSet; LoadRelatedEntities(queryCriteria); queryResult.Items = await dataSet.ApplyQueryCriteria(queryCriteria, queryResult).ToListAsync(); return(queryResult); }
public T FirstOrDefault(Expression <Func <T, bool> > expression) { return(DataSet.AsNoTracking().FirstOrDefault(expression)); }
public T Single(Expression <Func <T, bool> > expression) { return(DataSet.AsNoTracking().Single(expression)); }
public IQueryable <T> Where(Expression <Func <T, bool> > expression) { return(DataSet.AsNoTracking().Where(expression)); }
public IQueryable <T> All() { return(DataSet.AsNoTracking()); }