public IQueryable <TResult> GetParents <TResult>(Expression <Func <TEntity, bool> > startQuery, Expression <Func <TEntity, TResult> > selector) where TResult : class { var entityType = Context.Model.FindEntityType(typeof(TEntity).FullName); return(EfCoreRepositoryHelper.TreeQuery <TEntity, TPrimaryKey, TResult>(_repositoryHelper, Table, entityType, startQuery, selector, null, true, null, 0, true)); }
public IQueryable <TEntity> GetSiblings(TPrimaryKey id, string orderBySilbing = null) { TEntity theEntity = Get(id); return(Table.Where(EfCoreRepositoryHelper.BuildEqualsPredicate <TEntity>(nameof(ITreeEntity.Pid), theEntity.Pid)));//t => t.Pid == theEntity.Pid); // 构造表达式; }
public IQueryable <TEntity> GetParents(string id) { var entityType = Context.Model.FindEntityType(typeof(TEntity).FullName); if (_repositoryHelper != null) { return(EfCoreRepositoryHelper.TreeQuery <TEntity, string>(_repositoryHelper, Table, entityType, t => t.Id.Equals(id), null, true)); } return(EfCoreRepositoryHelper.TreeQuery <TEntity, string>(_repositoryHelper.ProviderName, Table, entityType, t => t.Id.Equals(id), null, true)); }
public IQueryable <TEntity> GetAllChildren(Expression <Func <TEntity, bool> > where, bool startQuery = false, string orderBySilbing = null) { var entityType = Context.Model.FindEntityType(typeof(TEntity).FullName); if (startQuery) { return(EfCoreRepositoryHelper.TreeQuery <TEntity, string>(_repositoryHelper.ProviderName, Table, entityType, where, null, false, orderBySilbing, 0, distinct: true)); } return(EfCoreRepositoryHelper.TreeQuery <TEntity, string>(_repositoryHelper.ProviderName, Table, entityType, t => t.Pid == null, where, false)); }
public IQueryable <TEntity> GetChildren(string id, bool recursion = false, Expression <Func <TEntity, bool> > where = null, string orderBySilbing = null) { if (recursion) { var entityType = Context.Model.FindEntityType(typeof(TEntity).FullName); return(EfCoreRepositoryHelper.TreeQuery <TEntity, string>(_repositoryHelper.ProviderName, Table, entityType, ts => ts.Id.Equals(id), where, false, orderBySilbing)); } IQueryable <TEntity> result = Table; if (where != null) { result = result.Where(where); } return(result.Where(t => t.Pid == id)); }
public override IPageResult <TEntity> GetSome(Func <IQueryable <TEntity>, IQueryable <TEntity> > queryFunc, IPageInfo pageInfo, params string [] metaData) { var entityType = Context.Model.FindEntityType(typeof(TEntity).FullName); return(EfCoreRepositoryHelper.GetSome(Table, entityType, queryFunc, pageInfo, metaData)); }
public IEnumerable <string> GetChildrenRecursion(Expression <Func <TEntity, bool> > startQuery) { var entityType = Context.Model.FindEntityType(typeof(TEntity).FullName); return(EfCoreRepositoryHelper.TreeQuery <TEntity, string>(_repositoryHelper, Table, entityType, startQuery, null, false, null, 0, true).Select(t => t.Id)); }
public IEnumerable <TPrimaryKey> GetParents(Expression <Func <TEntity, bool> > startQuery) { var entityType = Context.Model.FindEntityType(typeof(TEntity).FullName); return(EfCoreRepositoryHelper.TreeQuery <TEntity, TPrimaryKey>(_repositoryHelper, Table, entityType, startQuery, null, true, null, 0, true).Select(s => s.Id)); }