AutoMapper:复制的IList <>到的IList <>

问题描述:

我有一个IList<AdminVAT>,我想这个集合复制到IList<AdminVATDto>收集AutoMapper:复制的IList <>到的IList <>

我尝试这样做:

IList<AdminVAT> listAdminVAT = new AdministrationService(session).ListDecimal<AdminVAT>(); 
AutoMapper.Mapper.CreateMap<IList<AdminVAT>, List<AdminVATDTO>>(); 
var res = AutoMapper.Mapper.Map<IList<AdminVAT>, IList<AdminVATDTO>>(listAdminVAT); 

我收到此异常:

试图将System.Collections.Generic.IList`1 [[AdminVAT,eSIT.GC.DataModel,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]映射到System.Collections.Generic.IList `1 [[AdminVATDTO,eSIT.GC.WebUI,Ver sion = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]。

谢谢。

UPDATE1

public class AdminVAT : IAdminDecimal 
{ 
    public virtual int Id { get; set; } 
    public virtual int Code { get; set; } 
    public virtual decimal Value { get; set; } 
} 
public class AdminVATDTO : AdminVAT 
{ 
    [DisplayFormat(DataFormatString = "{0:n2}", ApplyFormatInEditMode = true)] 
    public override decimal Value { get; set; } 
} 

我仍然有5位小数在我的下拉列表...

控制器:

IList<AdminVAT> listAdminVAT = new AdministrationService(session).ListDecimal<AdminVAT>(); 
AutoMapper.Mapper.CreateMap<AdminVAT, AdminVATDTO>(); 
model.ListVAT = AutoMapper.Mapper.Map<IList<AdminVAT>, IList<AdminVATDTO>>(listAdminVAT); 

HTML:

@Html.DropDownList("ddVAT", new SelectList(Model.ListVAT, "Id", "Value", Model.Estimation.AdminVAT)) 

定义映射只简单类型作为documentation解释之间:

AutoMapper.Mapper.CreateMap<AdminVAT, AdminVATDTO>(); 

然后你就可以列表,收藏之间进行转换,可枚举这些类型的:

IList<AdminVATDTO> res = AutoMapper.Mapper.Map<IList<AdminVAT>, IList<AdminVATDTO>>(listAdminVAT); 
+0

我尝试这样做,我认为。 res的类型是“IList ,IList >”,需要IList 2011-06-17 11:24:16