У меня есть класс модели:Отображение списка <Model> словарю <ИНТ, ViewModel>
public class Model {
public int Id {get;set;}
public string Name {get;set;}
}
и вид модели:
public class ViewModel {
public string Name {get;set;}
}
Я хочу отобразить список в словарь, где ключ будет Model.Id.
Я начал с такой конфигурацией:
configuration
.CreateMap<Model, KeyValuePair<int, ViewModel>>()
.ConstructUsing(
x =>
new KeyValuePair<int, ViewModel>(x.Id, _mapper.Map<ViewModel>(x)));
Но я не хочу, чтобы использовать экземпляр сопоставителя в конфигурации. Есть ли другой способ достичь этого? Я видел некоторые ответы, где люди использовали x.MapTo(), но это, кажется, не будет доступно больше ...
Спасибо - выглядит великолепно, но я думаю, что мне не хватает какой-то ссылки - Я получаю ошибки во время компиляции (хотя IntelliSense отлично работает): «ResolutionContext» не содержит определения для «Id» и «QuotationPosition» не содержит определения для «Engine» –
Я нашел проблему - параметр лямбда может быть либо моделью, либо контекстом. Здесь должен быть контекст. Я обновил ваш код, и теперь он отлично работает. Большое спасибо! –
@MichalDymel рад, что это помогло :) – hazevich