I'm построения automapper со следующими структурами:C# MVC3 Automapper класс, содержащий список
Домен:
public class EnterpriseInfo
{
public string Name { get; set; }
public string Description { get; set; }
public bool Installed { get; set; }
public bool Enabled { get; set; }
public List<Msg> MsgList { get; set; }
...some methods...
}
public class Msg
{
public DateTime DateTime { get; set; }
public string From { get; set; }
public string Message { get; set; }
}
ViewModel классы:
public class HomeLogonHomeViewModel
{
public string CompanyName;
public List<SysMsg> MsgList;
}
public class SysMsg
{
public DateTime DateTime { get; set; }
public string From { get; set; }
public string Message { get; set; }
}
По мнению мне нужно, чтобы показать что-то вроде:
Messages for company: BALBALBALBA
12/12/12 00:00 From: AAA Message: Nnonononon
12/12/12 00:00 From: AAA Message: Nnonononon
12/12/12 00:00 From: AAA Message: Nnonononon
12/12/12 00:00 From: AAA Message: Nnonononon
12/12/12 00:00 From: AAA Message: Nnonononon
12/12/12 00:00 From: AAA Message: Nnonononon
У меня проблемы с настройкой automapper, так как у меня есть сиглевое поле с одним полем и список с другим списком. Может кто-то пожалуйста, помогите мне ...
Кроме того, я могу спросить, если это действительно нуждается в Automapper ....
[EDIT]
Рабочий код:
Mapper.CreateMap<EnterpriseInfo, HomeLogonHomeViewModel>()
.ForMember(dest => dest.CompanyName, opt => opt.MapFrom(src => src.Name));
Там не нужно явно указывать Msg на SysMsg, если оно было изменено на одно имя.
Grag, спасибо. Меня беспокоит тип List <>. Будет ли AutoMapper автоматически решать MsgList? – Mendes
Вам не нужно беспокоиться о конструкциях List <>. Automapper автоматически сопоставляет каждый элемент в списке, если объект объекта сопоставляется. – Greg
Да, я заметил это после некоторого чтения документа. Он работает нормально. Благодарю. – Mendes