private INativeSQLQueryReturn CreateScalarReturn(HbmReturnScalar returnScalarSchema) { string typeName; IDictionary <string, string> parameters = null; TypeDef typeDef = mappings.GetTypeDef(returnScalarSchema.type); if (typeDef != null) { typeName = typeDef.TypeClass; parameters = typeDef.Parameters; } else { typeName = returnScalarSchema.type; } IType type = TypeFactory.HeuristicType(typeName, parameters); if (type == null) { throw new MappingException("could not interpret type: " + returnScalarSchema.type); } return(new NativeSQLQueryScalarReturn(returnScalarSchema.column, type)); }
private INativeSQLQueryReturn CreateQueryReturn(object item, int count) { HbmLoadCollection loadCollectionSchema = item as HbmLoadCollection; HbmReturn returnSchema = item as HbmReturn; HbmReturnJoin returnJoinSchema = item as HbmReturnJoin; HbmReturnScalar returnScalarSchema = item as HbmReturnScalar; if (returnScalarSchema != null) { return(CreateScalarReturn(returnScalarSchema)); } else if (returnSchema != null) { return(CreateReturn(returnSchema, count)); } else if (returnJoinSchema != null) { return(CreateJoinReturn(returnJoinSchema)); } else if (loadCollectionSchema != null) { return(CreateLoadCollectionReturn(loadCollectionSchema)); } else { return(null); } }