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> GetChildren(TPrimaryKey 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, TPrimaryKey>(_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(EfCoreRepositoryHelper.BuildEqualsPredicate <TEntity>(nameof(ITreeEntity.Pid), id))); }