/// <summary> /// 查询指定实体的孩子。 /// </summary> /// <param name="entity">当前实体。</param> /// <param name="predicate">用于测试每个元素是否满足条件的函数。</param> /// <param name="recurrence">是否递归出所有孩子。</param> /// <returns></returns> public virtual IQueryable <TEntity> QueryChildren(TEntity entity, Expression <Func <TEntity, bool> > predicate = null, bool recurrence = false) { var expression = TreeExpressionBuilder.BuildQueryChildrenExpression(metaTree, entity, predicate, recurrence); var querable = QueryHelper.CreateQuery <TEntity>(repository.Provider, expression); var orderExp = TreeExpressionBuilder.BuildOrderByExpression <TEntity>(metaTree, querable.Expression); return(repository.Provider.CreateQuery <TEntity>(orderExp)); }
/// <summary> /// 查询指定实体的孩子。 /// </summary> /// <param name="entity">当前实体。</param> /// <param name="predicate">用于测试每个元素是否满足条件的函数。</param> /// <param name="recurrence">是否递归出所有孩子。</param> /// <returns></returns> public virtual IQueryable <TEntity> QueryChildren(TEntity entity, Expression <Func <TEntity, bool> > predicate = null, bool recurrence = false) { var expression = TreeExpressionBuilder.BuildQueryChildrenExpression <TEntity>(GetMetadata(), entity, predicate, recurrence); return(QueryHelper.CreateQuery <TEntity>(Provider, expression)); }