Я использую AutoMapper 6.1.1.0 и имею следующие типы:
Источник:
public class PaymentPlan
{
private List<ScheduledPayment> _scheduledPayments = new List<ScheduledPayment>();
private Rates _ratesApplied;
public Rates RatesApplied
{
get { return _ratesApplied; }
set { _ratesApplied = value; }
}
public List<ScheduledPayment> ScheduledPayments
{
get { return _scheduledPayments; }
set { _scheduledPayments = value; }
}
}
Dest:
public class PaymentPlanModel
{
public RatesModel RatesApplied { get; set; }
public List<ScheduledPaymentModel> ScheduledPayments { get; set; }
}
public class ClassEnrollmentPaymentPlanVM : PaymentPlanModel
{
public Guid PricePlanID { get; set; }
public string Name { get; set; }
public bool IsSelected { get; set; }
public bool AutoDraftEnabled { get; set; }
public bool BillingDayChoiceEnabled { get; set; }
public List<int> AvailableBillingDays { get; set; }
public int SelectedBillingDay { get; set; }
}
Отображение профиля конфигурации:
CreateMap<Rates, RatesModel>();
CreateMap<ScheduledPayment, ScheduledPaymentModel>();
CreateMap<PaymentPlan, PaymentPlanModel>();
CreateMap<PaymentPlan, ClassEnrollmentPaymentPlanVM>();
//.IncludeBase<PaymentPlan, PaymentPlanModel>();
ClassEnrollmentPaymentPlanVM
наследуется PaymentPlanModel
.Я пытаюсь сопоставить источник PaymentPlan
с ClassEnrollmentPaymentPlanVM
, чтобы заполнить все базовые свойства PaymentPlanModel
, но жалуется, что это «Отсутствует конфигурация карты типов или неподдерживаемое сопоставление».для Rates -> RatesModel
.При устранении этой ошибки я попытался закомментировать мой IncludeBase
звонок, но получил тот же результат.Я четыре раза проверил, правильны ли пространства имен.Почему он не находит мое отображение от Rates
до RatesModel
?
Редактировать:
Отображение инициируется так:
private static IMapper _mapper = MapperConfig.EntityWebMapper;
...
PaymentPlan paymentPlan = pmtCalc.CalculatePaymentPlan(calcInput);
ClassEnrollmentPaymentPlanVM paymentPlanVM = _mapper.Map<ClassEnrollmentPaymentPlanVM>(paymentPlan);
И точноесообщение об исключении / ошибке представляет собой AutoMapperMappingException
с указанием:
Типы сопоставления ошибок.
Типы сопоставления: PaymentPlan -> ClassEnrollmentPaymentPlanVM CRM.Logic.CRM.PaymentCalculation.PaymentPlan -> CRM.MVCWeb.ViewModels.
Внутреннее исключительное сообщение:
Отсутствует конфигурация карты типов или не поддерживается отображение.
Типы отображения: Rates -> RatesModel CRM.Logic.CRM.PaymentCalculation.Rates -> CRM.MVCWeb.Models.PaymentCalculation.RatesModel