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);
我尝试这样做,我认为。 res的类型是“IList,IList >”,需要IList –
2011-06-17 11:24:16