/// <summary>Create SelectedPropertiesNode from SelectExpandClause.</summary> /// <param name="selectExpandClause">The SelectExpandClause representing $select and $expand clauses.</param> /// <returns>SelectedPropertiesNode generated using <paramref name="selectExpandClause"/></returns> private static SelectedPropertiesNode CreateFromSelectExpandClause(SelectExpandClause selectExpandClause) { SelectedPropertiesNode node; selectExpandClause.Traverse(ProcessSubExpand, CombineSelectAndExpandResult, out node); return(node); }
/// <summary> /// Build the expand clause for a given level in the selectExpandClause /// </summary> /// <param name="selectExpandClause">the current level select expand clause</param> /// <returns>the select and expand segment for context url in this level.</returns> private static string CreateSelectExpandContextUriSegment(SelectExpandClause selectExpandClause) { if (selectExpandClause != null) { string contextUri; selectExpandClause.Traverse(ProcessSubExpand, CombineSelectAndExpandResult, out contextUri); if (!string.IsNullOrEmpty(contextUri)) { return(ODataConstants.ContextUriProjectionStart + contextUri + ODataConstants.ContextUriProjectionEnd); } } return(string.Empty); }