首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现Mapper.Map for IGrouping?

如何实现Mapper.Map for IGrouping?
EN

Stack Overflow用户
提问于 2015-01-08 04:28:41
回答 1查看 2K关注 0票数 0

我在使用AutoMapper时遇到了问题

我的代码:

代码语言:javascript
复制
public static IQueryable<IGrouping<Int64, GroupTimeSheetViewModel>> ToListGroupViewModel(this IQueryable<IGrouping<Int64, GroupTimeSheet>> entity)
    {
        return Mapper.Map<IQueryable<IGrouping<Int64, GroupTimeSheet>>, IQueryable<IGrouping<Int64, GroupTimeSheetViewModel>>>(entity);
    }

当我运行我的代码时,我会得到错误:

值"System.Collections.Generic.List1[PG.Admin.Models.TimeSheetHeaders.GroupTimeSheetViewModel]" is not of type "System.Linq.IGrouping2System.Int64,PG.Admin.Models.TimeSheetHeaders.GroupTimeSheetViewModel“,不能在此泛型集合中使用。参数名称:值

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-11 02:54:08

AutoMapper不能直接映射查询。如果我是你,我会用AutoMapper的LINQ投影功能。它使用LINQ构建选择投影。这样,您得到的LINQ将类似于:

代码语言:javascript
复制
dbContext.GroupTimeSheets
   .GroupBy(ts => ts.Something)
   .Project().To<GroupTimeSheetViewModel>()
   .ToListAsync();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27832947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档