我有以下代码不起作用:
var groupedZones = this._zoneDataManager.GetZonesGroupedByCountry();
IEnumerable<IGrouping<String, ZoneDTO>> zonesToReturn = Mapper.Map<IEnumerable<IGrouping<String, Zone>>, IEnumerable<IGrouping<String, ZoneDTO>>>(groupedZones);
Run Code Online (Sandbox Code Playgroud)
我一直得到以下异常:
值\"System.Collections.Generic.List
1[SCGRE.Business.Model.ZoneDTO]\" is not of type \"System.Linq.IGrouping2 [System.String,SCGRE.Business.Model.ZoneDTO] \"并且不能在此通用集合中使用.\ r \nParameter name:value
我不明白为什么它试图将一个映射List<T>成一个IGrouping<String, T>或者也许我没有正确理解异常...但我基本上有一个IEnumerable<IGrouping<String, Zone>>我希望将它映射到IEnumerable<IGrouping<String, ZoneDTO>>
请注意,我已经从创建的映射Zone到ZoneDTO如下:
Mapper.CreateMap<Zone, ZoneDTO>();
Run Code Online (Sandbox Code Playgroud)
那是因为两个类的属性几乎完全相同.
有任何想法吗?