Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }