public ResultAliasContext Process() { // first, break down the returns into maps keyed by alias // so that role returns can be more easily resolved to their owners for (int i = 0; i < queryReturns.Length; i++) { if (queryReturns[i] is NativeSQLQueryNonScalarReturn) { NativeSQLQueryNonScalarReturn rtn = (NativeSQLQueryNonScalarReturn)queryReturns[i]; alias2Return[rtn.Alias] = rtn; if (rtn is NativeSQLQueryJoinReturn) { NativeSQLQueryJoinReturn roleReturn = (NativeSQLQueryJoinReturn)queryReturns[i]; alias2OwnerAlias[roleReturn.Alias] = roleReturn.OwnerAlias; } } } // Now, process the returns for (int i = 0; i < queryReturns.Length; i++) { ProcessReturn(queryReturns[i]); } return(new ResultAliasContext(this)); }
private IDictionary <string, string[]> InternalGetPropertyResultsMap(string alias) { NativeSQLQueryNonScalarReturn rtn = alias2Return[alias] as NativeSQLQueryNonScalarReturn; if (rtn != null) { return(rtn.PropertyResultsMap); } else { return(null); } }