我想知道如何自動映射這個或如果它可以完成(我想沒有,但我只是想檢查)。自動映射器可以做到這一點嗎?
我有這樣的事情
public class RemindersViewModel()
{
public List<SelectListItem> Reminder { get; set; }
public ReminderTypes SelectedReminder { get; set; }
}
首先,我需要填充SelectListItems
Mapper.CreateMap<ReminderTypes, SelectListItem>().ForMember(dest => dest.Text,
opt =>opt.MapFrom(src => src.ReminderTypes))
.ForMember(dest => dest.Value, opt => opt.MapFrom(src => src.ReminderTypes));
我也想指出,ReminderTypes是一個枚舉。我想知道,所以看來我不能做src.ReminderTypes。我想知道我該怎麼做?
//控制器
List<ReminderTypes> types = Service.GetReminderTypes();
List<RemindersViewModel> viewModel = new List<RemindersViewModel>();
RemindersViewModel map = Mapper.Map<List<ReminderTypes>, List<SelectListItem>>(types);
所以,現在我得到了selectlistitems映射。現在我想添加「map」到viewModel。我想要將相同的「地圖」添加到viewModel 5次。
是否有可能以某種方式使用automapper說這個「地圖」並將其映射5次到我的viewModel?
或者我必須使用for循環嗎?
for(int i =0; i < 5; i++)
{
viewModel.Add(map);
}
就像我說的,我不認爲這是可能的,但我很好奇地想知道,因爲我沒有使用atuomapper長。
當我說你想擁有5個SelectedListItems列表時,我有沒有正確地對待你?你想獲得什麼? – Rookian 2011-02-05 21:26:25