예제 #1
0
        public override IEnumerable<INodeFactory> Resolve(IContext context, string nodeName)
        {
            if( null == nodeName )
            {
                return base.Resolve(context, null );
            }

            var helper = new ODataHelper(_metadata);
            var childUri = helper.UriGetUriForEntityName(_uri, nodeName);
            
            XDocument document = GetODataDocument( childUri );
            return from entity in document.Descendants(Names.Entry)
                   let id = entity.Descendants( Names.Id ).First().Value
                   let node = new ODataEntryNodeFactory( new Uri( id ), _metadata, entity)
                   where StringComparer.InvariantCultureIgnoreCase.Equals(node.Name, nodeName)
                   select (INodeFactory)node;
        }
        public override IEnumerable <INodeFactory> Resolve(IContext context, string nodeName)
        {
            if (null == nodeName)
            {
                return(base.Resolve(context, null));
            }

            var helper   = new ODataHelper(_metadata);
            var childUri = helper.UriGetUriForEntityName(_uri, nodeName);

            XDocument document = GetODataDocument(childUri);

            return(from entity in document.Descendants(Names.Entry)
                   let id = entity.Descendants(Names.Id).First().Value
                            let node = new ODataEntryNodeFactory(new Uri(id), _metadata, entity)
                                       where StringComparer.InvariantCultureIgnoreCase.Equals(node.Name, nodeName)
                                       select(INodeFactory) node);
        }