Exemple #1
0
        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));
        }
Exemple #2
0
        private IDictionary <string, string[]> InternalGetPropertyResultsMap(string alias)
        {
            NativeSQLQueryNonScalarReturn rtn = alias2Return[alias] as NativeSQLQueryNonScalarReturn;

            if (rtn != null)
            {
                return(rtn.PropertyResultsMap);
            }
            else
            {
                return(null);
            }
        }