Example #1
0
 public static IQueryable <T> Including <T>(this IQueryable <T> queryable, IncludingQuery <T> includingQuery)
     where T : class
 {
     return(includingQuery == null
         ? queryable
         : includingQuery.Columns.Aggregate(queryable, (x, y) => x.Include(y)));
 }
Example #2
0
 public async Task <TEntity> FindAsync(
     Expression <Func <TEntity, bool> > predicate,
     IncludingQuery <TEntity> includingQuery = null,
     CancellationToken cancellationToken     = default)
 {
     return(await Queryable(predicate, includingQuery).SingleOrDefaultAsync(cancellationToken));
 }
Example #3
0
 public IReadOnlyList <TEntity> Get(
     Expression <Func <TEntity, bool> > predicate,
     IncludingQuery <TEntity> includingQuery = null,
     OrderingQuery <TEntity> orderingQuery   = null,
     PagingQuery pagingQuery = null)
 {
     return(Queryable(predicate, includingQuery, orderingQuery, pagingQuery).ToList());
 }
Example #4
0
 private IQueryable <TEntity> Queryable(
     Expression <Func <TEntity, bool> > predicate,
     IncludingQuery <TEntity> includingQuery = null,
     OrderingQuery <TEntity> orderingQuery   = null,
     PagingQuery pagingQuery = null)
 {
     return(DbSet.Where(predicate).Including(includingQuery).Ordering(orderingQuery).Paging(pagingQuery));
 }
Example #5
0
 public async Task <IReadOnlyList <TEntity> > GetAsync(
     Expression <Func <TEntity, bool> > predicate,
     IncludingQuery <TEntity> includingQuery = null,
     OrderingQuery <TEntity> orderingQuery   = null,
     PagingQuery pagingQuery             = null,
     CancellationToken cancellationToken = default)
 {
     return(await Queryable(predicate, includingQuery, orderingQuery, pagingQuery)
            .ToListAsync(cancellationToken));
 }
Example #6
0
 public TEntity Find(
     Expression <Func <TEntity, bool> > predicate,
     IncludingQuery <TEntity> includingQuery = null)
 {
     return(Queryable(predicate, includingQuery).SingleOrDefault());
 }