Для этого объекта не определен конструктор без параметров, 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: типы отображения ошибок.

Типы сопоставления: IQueryable1 -> ICollection1 System.Linq.IQueryable1[[Core.Models.Ticket, Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] -> System.Collections.Generic.ICollection1 [[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()
            {

            }
        }

0 ответов

Другие вопросы по тегам