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); }