public virtual IQueryable <TEntity> GetActive(Expression <Func <TEntity, bool> > predicate) { if (typeof(IDeleting).IsAssignableFrom(typeof(TEntity))) { Expression <Func <TEntity, bool> > node = (TEntity q) => !((IDeleting)q).IsDelete; node = (Expression <Func <TEntity, bool> >)RemoveCastsVisitor.Visit(node); return(Queryable.Where <TEntity>(Queryable.Where <TEntity>(this.Get(), node), predicate)); } return(this.Get(predicate)); }
public virtual TEntity FirstOrDefaultActive(Expression <Func <TEntity, bool> > predicate) { if (typeof(IDeleting).IsAssignableFrom(typeof(TEntity))) { Expression <Func <TEntity, bool> > node = (TEntity q) => ((IDeleting)q).IsDelete; node = (Expression <Func <TEntity, bool> >)RemoveCastsVisitor.Visit(node); return(Queryable.FirstOrDefault <TEntity>(Queryable.Where <TEntity>((IQueryable <TEntity>) this.dbSet, predicate), node)); } return(this.FirstOrDefault(predicate)); }
public Task <TEntity> FirstOrDefaultActiveAsync() { if (typeof(IDeleting).IsAssignableFrom(typeof(TEntity))) { Expression <Func <TEntity, bool> > node = (TEntity q) => ((IDeleting)q).IsDelete; node = (Expression <Func <TEntity, bool> >)RemoveCastsVisitor.Visit(node); return(QueryableExtensions.FirstOrDefaultAsync <TEntity>((IQueryable <TEntity>) this.dbSet, node)); } return(this.FirstOrDefaultAsync()); }