我有一个IList<AdminVAT>,我想把这个集合复制到IList<AdminVATDto>收藏
我试过这个:
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);
Run Code Online (Sandbox Code Playgroud)
我收到这个例外:
尝试将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,Version = 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; }
}
Run Code Online (Sandbox Code Playgroud)
我的下拉列表中仍有5位小数...
控制器:
IList<AdminVAT> listAdminVAT = new AdministrationService(session).ListDecimal<AdminVAT>();
AutoMapper.Mapper.CreateMap<AdminVAT, AdminVATDTO>();
model.ListVAT = AutoMapper.Mapper.Map<IList<AdminVAT>, IList<AdminVATDTO>>(listAdminVAT);
Run Code Online (Sandbox Code Playgroud)
HTML:
@Html.DropDownList("ddVAT", new SelectList(Model.ListVAT, "Id", "Value", Model.Estimation.AdminVAT))
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 20
仅在文档中说明的简单类型之间定义映射:
AutoMapper.Mapper.CreateMap<AdminVAT, AdminVATDTO>();
Run Code Online (Sandbox Code Playgroud)
然后,您将能够在列表,集合,这些类型的枚举之间进行转换:
IList<AdminVATDTO> res = AutoMapper.Mapper.Map<IList<AdminVAT>, IList<AdminVATDTO>>(listAdminVAT);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6330 次 |
| 最近记录: |