Automapper отображает с неправильным именем свойства, или я делаю что-то не так - PullRequest
0 голосов
/ 15 марта 2020

Я пытаюсь сопоставить мой домен с DTO. То, что я получаю в сгенерированном запросе, это неправильно составленное имя свойства.

Это мой класс сущности: (для краткости некоторый код удален)

public class Product : BaseEntity
{
    public int ProductId { get; set; }
    public string Name { get; set; }

    public virtual EntityUnit EntityUnit { get; set; }
}

Это мой DTO

public class ProductDto : IMapFrom<Product>
{
    public int Id { get; set; }
    public string Unit { get; set; }

    public void Mapping(Profile profile)
    {
        profile.CreateMap<Product, ProductDto>()
            .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.EntityUnit.Name));
    }
}

Это мой класс EntityUnit:

public class EntityUnit : BaseEntity
{
    public int UnitId { get; set; }
    public string Name { get; set; }
}

После всего этого сгенерированный запрос: (на мини-профилировщике)

enter image description here

На самом деле это должен быть p.UnitId вместо EntityUnitUnitId (который работает). Automapper версия 9.0

Что я здесь не так делаю?

...