/// <summary> /// Initialize a UriParser. We have to initialize UriParser separately for parsing path, because we may set BatchReferenceCallback before ParsePath. /// </summary> private void Initialize() { if (this.odataPath != null) { return; } // When parse path failed first time, the alias node would be not null, but already removed from query options, so do not set it in this case. if (this.ParameterAliasValueAccessor == null) { this.ParameterAliasValueAccessor = new ParameterAliasValueAccessor(queryOptions.GetParameterAliases()); } this.odataPath = this.ParsePathImplementation(); InitQueryOptionDic(); this.queryOptionParser = new ODataQueryOptionParser(this.Model, this.odataPath, queryOptionDic) { Configuration = this.configuration }; }