У меня есть 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, культура = нейтральной, PublicKeyToken = NULL]] для System.Collections.Generic.IList `1 [[AdminVATDTO, eSIT.GC.WebUI, Ve rsion = 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))
Я попробовал это я думать. Тип res: «IList, IList >», нужен IList –
@ Kris-I, вы, должно быть, попробовали что-то еще. Тип 'res', как показано в моем примере, -' IList'. Я обновил свой ответ, чтобы сделать это более понятным, вместо использования 'var'. –
@Darin Вы правы, CodeRush, когда я делаю «переменную Delcare», дайте мне: IList, IList > –