コード例 #1
0
        /// <summary>
        /// Reads a navigation link.
        /// </summary>
        /// <returns>A navigation link.</returns>
        private ODataNavigationLink ReadNavigationLink()
        {
            Debug.Assert(this.reader.State == ODataReaderState.NavigationLinkStart, "this.reader.State == ODataReaderState.NavigationLinkStart");

            ODataNavigationLink link = (ODataNavigationLink)this.reader.Item;

            MaterializerEntry entry;
            ODataFeed         feed;

            if (this.TryReadFeedOrEntry(false, out feed, out entry))
            {
                if (feed != null)
                {
                    MaterializerNavigationLink.CreateLink(link, feed);
                }
                else
                {
                    Debug.Assert(entry != null, "entry != null");
                    MaterializerNavigationLink.CreateLink(link, entry);
                }

                this.ReadAndExpectState(ODataReaderState.NavigationLinkEnd);
            }

            this.ExpectState(ODataReaderState.NavigationLinkEnd);

            return(link);
        }
コード例 #2
0
            private ODataNavigationLink ReadNavigationLink()
            {
                MaterializerEntry   entry;
                ODataFeed           feed;
                ODataNavigationLink item = (ODataNavigationLink)this.reader.Item;

                if (this.TryReadFeedOrEntry(false, out feed, out entry))
                {
                    if (feed != null)
                    {
                        MaterializerNavigationLink.CreateLink(item, feed);
                    }
                    else
                    {
                        MaterializerNavigationLink.CreateLink(item, entry);
                    }
                    this.ReadAndExpectState(ODataReaderState.NavigationLinkEnd);
                }
                this.ExpectState(ODataReaderState.NavigationLinkEnd);
                return(item);
            }