Для этого объекта не определен конструктор без параметров, automapper 8 и IValueResolver
Я использую AutoMapper 8 в проекте и хочу использовать распознаватель, как показано ниже. Проблема, я получил это сообщение об ошибке:
MissingMethodException: для этого объекта не определен конструктор без параметров.
и я не знаю, упустил ли я что-то здесь.
public class ExcelClientProfile : Profile
{
public ExcelClientProfile()
{
CreateMap<Ticket, ExcelClient>()
...
.ForMember(d => d.FormModel, s => s.MapFrom<FormBuilderWithAnswerResolver>());
}
}
public class FormBuilderWithAnswerResolver : IValueResolver<Ticket, ExcelClient, FormModel>
{
private IFormBuilderService _formBuilderService;
public FormBuilderWithAnswerResolver(IFormBuilderService formBuilderService)
{
_formBuilderService = formBuilderService;
}
public FormModel Resolve(Ticket source, ExcelClient destination, FormModel destMember, ResolutionContext context)
{
return _formBuilderService.GetFormBuilderWithAnswersExcel(source);
}
}
Вы знаете, как я могу сделать эту работу?
Спасибо,
Дэвид
Трассировки стека
Произошло необработанное исключение при обработке запроса. MissingMethodException: для этого объекта не определен конструктор без параметров. System.RuntimeTypeHandle.CreateInstance(тип RuntimeType, bool publicOnly, bool wrapExceptions, ref bool canBeCached, ref RuntimeMethodHandleInternal ctor)
AutoMapperMappingException: типы отображения ошибок.
Типы сопоставления: Ticket -> ExcelClient Core.Models.Ticket -> Service.Models.TicketOrderView.ExcelClient
Тип Конфигурация карты: Билет -> ExcelClient Core.Models.Ticket -> Service.Models.TicketOrderView.ExcelClient
Целевой член: FormModel lambda_method(закрытие, IQueryable, ICollection, ResolutionContext)
AutoMapperMappingException: типы отображения ошибок.
Типы сопоставления: IQueryable
1 -> ICollection
1 System.Linq.IQueryable1[[Core.Models.Ticket, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] -> System.Collections.Generic.ICollection
1 [[Service.Models.TicketOrderView.ExcelClient, Сервис, Версия =1.0.0.0, Культура = нейтральный, PublicKeyToken= ноль]]
А также:
public class Ticket : Entity
{
public int Id { get; set; }
...
public virtual FormBuilder FormBuilder { get; set; }
public Ticket()
{
}
public object Clone()
{
return this.MemberwiseClone();
}
}
public class ExcelClient
{
...
public virtual FormModel FormModel { get; set; }
public ExcelClient()
{
}
}