AutoMapper – 使用 ProjectTo 方法

huangapple go评论73阅读模式
英文:

AutoMapper - Using ProjectTo method

问题

I am using AutoMapper in my code and I wanna use ProjectTo for the mappings like this:

var queryable = await _unitOfWork.ProductRepository
              .GetList(query);
return new Paging<ProductListDto>
{
    Data = queryable.Data.ProjectTo<ProductListDto>(_mapper.ConfigurationProvider).ToList()
};

but I got the following error while using ProjectTo:

AutoMapper – 使用 ProjectTo 方法

英文:

I am using AutoMapper in my code and I wanna use ProjectTo for the mappings like this:

var queryable = await _unitOfWork.ProductRepository
              .GetList(query);
return new Paging&lt;ProductListDto&gt;
{
    Data = queryable.Data.ProjectTo&lt;ProductListDto&gt;(_mapper.ConfigurationProvider).ToList()
};

but I got the following error while using ProjectTo:

AutoMapper – 使用 ProjectTo 方法

答案1

得分: 2

ProjectTo 方法只支持 IQueryable,而不支持 IEnumerable

你应该使用基本的 _mapper.Map&lt;T&gt;(/* source */)

return new Paging&lt;ProductListDto&gt;
{
    Data = _mapper.Map&lt;List&lt;ProductListDto&gt;&gt;(queryable.Data)
};
英文:

ProjectTo method only supports IQueryable but not IEnumerable.

You should use the basic _mapper.Map&lt;T&gt;(/* source */).

return new Paging&lt;ProductListDto&gt;
{
    Data = _mapper.Map&lt;List&lt;ProductListDto&gt;&gt;(queryable.Data)
};

huangapple
  • 本文由 发表于 2023年2月18日 19:16:17
  • 转载请务必保留本文链接:https://go.coder-hub.com/75492960.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定