示例#1
0
        private List <ResultObjectMapping> LoadData(QueryModel queryModel)
        {
            var sqlCommand =
                SqlGeneratorQueryModelVisitor.GenerateSqlQuery(
                    queryModel,
                    Locator,
                    ConverterFactory,
                    ExtensibilityProvider);

            var resultItems = new List <ResultObjectMapping>();

            DatabaseQuery.Execute(sqlCommand.CreateQuery(), dr => resultItems.Add(sqlCommand.ProcessRow(dr)));

            if (queryModel.ResultOperators.Any(it => it is LastResultOperator) && resultItems.Count > 1)
            {
                resultItems.RemoveRange(0, resultItems.Count - 1);
            }
            return(resultItems);
        }