Ejemplo n.º 1
0
 public Expression <Func <TEntity, bool> > Or(IPredicateBinder <TEntity> predicateBinder)
 {
     return(Or(predicateBinder.Query()));
 }
Ejemplo n.º 2
0
 if(entity != null) Delete(entity);
        }

        public virtual void Delete(TEntity entity)
        {
            _context.SetEntityEntry(entity).State = EntityState.Deleted;
            _dbSet.Attach(entity);
        }

        public virtual async Task<bool> DeleteAsync(params object[] keyValues)
        {
            return await DeleteAsync(CancellationToken.None, keyValues);
        }

        public virtual async Task<bool> DeleteAsync(CancellationToken cancellationToken, params object[] keyValues)
        {
            var entity = await FindAsync(cancellationToken, keyValues);

            if (entity == null)
            {
                return false;
            }
            _context.SetEntityEntry(entity).State = EntityState.Deleted;
            _dbSet.Attach(entity);

            return true;
        }

        IQueryFluent<TEntity, TKey> IRepository<TEntity, TKey>.Query(Expression<Func<TEntity, bool>> query)
        {
            return Query(query);
        }

        IQueryFluent<TEntity, TKey> IRepository<TEntity, TKey>.Query()
        {
            return Query();
        }

        public IQueryFluent<TEntity, TKey> Query()
        {
            return new QueryFluent<TEntity, TKey>(this);
        }

        public virtual IQueryFluent<TEntity, TKey> Query(IPredicateBinder<TEntity> predicateBinder)
        {
            return new QueryFluent<TEntity, TKey>(this, predicateBinder);
        }

        public virtual IQueryFluent<TEntity, TKey> Query(Expression<Func<TEntity, bool>> query)
        {
            return new QueryFluent<TEntity, TKey>(this, query);
        }

        public IQueryable<TEntity> Queryable()
        {
            return _dbSet;
        }


        public virtual async Task<TEntity> FindAsync(params object[] keyValues)
        {
            return await _dbSet.FindAsync(keyValues);
        }

        public virtual async Task<TEntity> FindAsync(CancellationToken cancellationToken, params object[] keyValues)
        {
            return await _dbSet.FindAsync(cancellationToken, keyValues);
        }
Ejemplo n.º 3
0
 public QueryFluent(Repository <TEntity, TKey> repository, IPredicateBinder <TEntity> predicateBinder) :
     this(repository)
 {
     _expression = predicateBinder.Query();
 }