Я создал веб-сайт, на котором есть функция рефералов, я использую 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