/// <summary> /// Executes a query, returning the data typed as T /// </summary> public async Task <IEnumerable <T> > ExecuteQueryAsync <T>(string sql, object parameter = null, int?commandTimeout = null, CommandType?commandType = null) { using (var cmd = (Connection as DbConnection).CreateCommand()) { Initialize(cmd, sql, parameter, commandTimeout, commandType); using (var reader = await cmd.ExecuteReaderAsync()) { var list = new List <T>(); var handler = TypeConvert.GetSerializer <T>(_typeMapper, reader); while (await reader.ReadAsync()) { list.Add(handler(reader)); } return(list); } } }
public IEnumerable <T> ExecuteQuery <T>(string sql, object parameter = null, int?commandTimeout = null, CommandType?commandType = null) { using (var cmd = Connection.CreateCommand()) { var list = new List <T>(); Initialize(cmd, sql, parameter, commandTimeout, commandType); using (var reader = cmd.ExecuteReader()) { var handler = TypeConvert.GetSerializer <T>(_typeMapper, reader); while (reader.Read()) { list.Add(handler(reader)); } return(list); } } }