Asp.net core 3.1 AutoMapperMappingException: отсутствует конфигурация карты типа или неподдерживаемое сопоставлениеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Asp.net core 3.1 AutoMapperMappingException: отсутствует конфигурация карты типа или неподдерживаемое сопоставление

Сообщение Anonymous »

Я наткнулся на эту ошибку при сопоставлении с помощью automapper. Сначала я объясню свой вариант использования.
Я создал веб-сайт, на котором есть функция рефералов, я использую select2 js для раскрывающегося списка с функцией поиска, кстати, и у меня есть API, который будет возвращать данные. Идентификатор и полное имя для выбора того, кого человек поместит вам в свой реферал, потому что единственный, кто может добавить реферала, - это только с учетной записью администратора, поэтому это модель для всех пользователей

Код: Выделить всё

public partial class AspNetUsers
{
public string Id { get; set; }
public string UserName { get; set; }
public string NormalizedUserName { get; set; }
public string Email { get; set; }
public string NormalizedEmail { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Fullname { get; set; }
public string NormalizedFullname { get; set; }
public string Gender { get; set; }
public string Password { get; set; }
public string Referral { get; set; }
public bool EmailConfirmed { get; set; }
public string PasswordHash { get; set; }
public string SecurityStamp { get; set; }
public string ConcurrencyStamp { get; set; }
public string PhoneNumber { get; set; }
public bool? Active { get; set; }
public bool? Suspended { get; set; }
public bool PhoneNumberConfirmed { get; set; }
public bool TwoFactorEnabled { get; set; }
public DateTimeOffset? LockoutEnd { get; set; }
public bool LockoutEnabled { get; set; }
public int AccessFailedCount { get; set; }
}
и я хочу сопоставить его с этой моделью представления

Код: Выделить всё

public class ReferralViewModel
{
public string Id { get; set; }
public string Fullname { get; set; }
}
и в своем картографическом профиле я использую этот код

Код: Выделить всё

public class MappingProfile : Profile
{
public MappingProfile()
{
CreateMap();

CreateMap();
}
}
и в свой файл запуска я добавил эту конфигурацию

Код: Выделить всё

services.AddAutoMapper(typeof(Startup));
var mappingConfig = new MapperConfiguration(mc =>
{
mc.AddProfile(new MappingProfile());
});
IMapper mapper = mappingConfig.CreateMapper();
services.AddSingleton(mapper);
и в моем коде, чтобы привлечь пользователей, я использую это

Код: Выделить всё

public async Task SearchUser(string term)
{
if (!string.IsNullOrEmpty(term))
{
var users = await _context.AspNetUsers.Where(a => a.Fullname != null).Where(a => a.Fullname.Contains(term)).ToListAsync();

var mappedUser = _mapper.Map(users);
return Ok(mappedUser);
}
else
{
return Ok();
}
}
но когда я вызываю метод для получения сопоставленного пользователя. он возвращает такую ​​ошибку.

При обработке запроса произошло необработанное исключение.
AutoMapperMappingException: отсутствует конфигурация карты типов или неподдерживаемое сопоставление.
Типы сопоставления:

Object -> ReferralViewModel

System.Object -> Genea.Areas.Admin.Models. ReferralViewModel лямбда_метод(Closure, объект, ReferralViewModel, РазрешениеКонтекст)

lambda_method(Closure, объект, ReferralViewModel, РазрешениеКонтекст)

AutoMapper.Mapper.MapCore(источник TSource , Назначение TDestination, Контекст разрешенияконтекста, Тип sourceType, Тип назначения Типа, IMemberMapmemberMap)

AutoMapper.Mapper.Map(Источник TSource, Назначение TDestination)

AutoMapper .Mapper.Map(источник объекта)

Genea.Areas.Admin.Controllers.ProfileController.SearchUser (строковый термин) в ProfileController.cs +

var mappedUser = _mapper.Map (пользователи);

Я не понимаю, почему произошла эта ошибка

Подробнее здесь: https://stackoverflow.com/questions/660 ... ation-or-u
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»