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)));
        }