Example #1
0
 public List <TData> GetList <TData>(ISelectSpecification <TEntity, TData> specification)
 {
     return(_context
            .Set <TEntity>()
            .ApplaySelectSpecification(specification)
            .ToList());
 }
Example #2
0
 public TData Get <TData>(ISelectSpecification <TEntity, TData> specification)
 {
     return(_context
            .Set <TEntity>()
            .ApplaySelectSpecification(specification)
            .FirstOrDefault());
 }
Example #3
0
 public TData SingleOrDefault <TData>(ISelectSpecification <TEntity, TData> specification)
 {
     return(_context
            .Set <TEntity>()
            .AsNoTracking()
            .ApplaySelectSpecification(specification)
            .SingleOrDefault());
 }
Example #4
0
 public Task <List <TData> > GetList <TData>(ISelectSpecification <TEntity, TData> specification)
 {
     return(_context
            .Set <TEntity>()
            .AsNoTracking()
            .ApplaySelectSpecification(specification)
            .ToListAsync());
 }
Example #5
0
 public Task <TData> FirstOrDefault <TData>(ISelectSpecification <TEntity, TData> specification)
 {
     return(_context
            .Set <TEntity>()
            .AsNoTracking()
            .ApplaySelectSpecification(specification)
            .FirstOrDefaultAsync());
 }
Example #6
0
        public static IQueryable <TData> ApplaySelectSpecification <TEntity, TData>(this IQueryable <TEntity> query, ISelectSpecification <TEntity, TData> specification)
            where TEntity : class, IBaseEntity
        {
            if (specification == null)
            {
                throw new ArgumentNullException($"Specification can not be null");
            }

            if (specification.Select == null)
            {
                throw new Exception("Select can not be null");
            }

            query = query.ApplayBaseSpecification(specification);

            return(query.Select(specification.Select));
        }