/// <summary> /// The asynchronous counterpart to <see cref="IDapperImplementor.GetPage{T}"/>. /// </summary> protected async Task <IEnumerable <T> > GetPageAutoMapAsync <T>(IDbConnection connection, IClassMapper classMap, IPredicate predicate, IList <ISort> sort, int page, int resultsPerPage, IDbTransaction transaction, int?commandTimeout, IList <IProjection> colsToSelect = null) where T : class { var query = await GetPageAsync <dynamic>(connection, classMap, predicate, sort, page, resultsPerPage, transaction, commandTimeout, colsToSelect); var data = query.ToList(); return(await Task.FromResult(AutoMapper.MapDynamic <T>(data, false)).ConfigureAwait(false)); }
protected IEnumerable <T> MappColumns <T>(IEnumerable <dynamic> values) where T : class { var list = new List <Dictionary <string, object> >(); foreach (var d in values.ToList()) { var dictionary = new Dictionary <string, object>(); foreach (KeyValuePair <string, object> kvp in d) { var alias = GetColumnAliasFromSimpleAlias(kvp.Key); if (!string.IsNullOrEmpty(alias)) { dictionary.Add(alias, kvp.Value); } } list.Add(dictionary); } SetAutoMapperIdentifier(SqlGenerator.MappedTables); return(AutoMapper.Map <T>(list, false)); }