Привет, ребята. Я нашел очень странную вещь и хочу спросить вас об этом.Я использую AutoMaper в своем проекте .dotnet core Web Api.И во время сопоставления я получаю AutoMapperConfigurationException.
Вот ссылка, которую я сейчас использую:
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="5.0.1" />
У меня есть класс сущности Blog:
public class BlogEntity
{
public string Title { get; set; }
public int BlogEntityId { get; set; }
public List<Post> Posts { get; set; }
}
И мойКласс DTO, который я использую для создания новой пустой записи блога:
public class BlogCreateDto
{
public string Title { get; set; }
}
Вот мой профиль маппера:
public class BlogMappingProfile : Profile
{
public BlogMappingProfile()
{
CreateMap<BlogCreateDto,BlogEntity>();
}
}
Вот строка, которую я использовал в Startup.cs длянастроить automapper
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddAutoMapper();
....
Вот сообщение, которое я получаю в исключении:
Найдены не отображенные элементы.Просмотрите приведенные ниже типы и элементы. \ NДобавьте пользовательское выражение сопоставления, игнорируйте, добавьте настраиваемый преобразователь или измените тип источника / назначения \ nНе подходящего конструктора, добавьте c-аргумент без аргументов, добавьте необязательные аргументы или сопоставьте всепараметры конструктора \ n =============================================================== \ r \ nAutoMapper создал эту карту типов для вас, но ваши типы не могут быть отображены с использованием текущей конфигурации.
Я много чего пробовал,Игнорирование членов, конструкторов, наследования и т. Д., И никто из них не работал.Я решил это, добавив конфигурацию в Startup.cs и вручную добавив свой профиль автоматического средства:
services.AddAutoMapper(cfg => cfg.AddProfile(new BlogMappingProfile()));
Это работает, но все же у меня возникает путаница по поводу того, что я что-то упустил и не делал этого вправильно.Что я делаю не так?Или, может быть, я что-то упустил в конфигурации?