Точная структура сплющенного объекта в AutoMapper - PullRequest
1 голос
/ 02 апреля 2020

Я знаю, что есть много похожих вопросов, и я просмотрел множество из них, но не смог выяснить это.

Если у меня есть:

public class ClientRoot
{
  public Client client { get; set; }
}

и

public class Client
{
  public string name { get; set; }
  ...

в качестве моего Источника, а Dto: publi c class ClientDto

{
  public string name { get; set; }
  ...

Правильно ли я понимаю, что AutoMapper должен иметь возможность автоматически сгладить это без меня писать какие-либо пользовательские карты? И должно ли свойство в dto называться name или clientname ?

Я получаю нулевой возврат в любом случае, когда я делаю:

var config = new MapperConfiguration(cfg => cfg.CreateMap<ClientRoot, ClientDto>());
var mapper = new Mapper(config);
...
ClientDto dto = mapper.Map<ClientRoot, ClientDto>(c); // c is a valid ClientRoot instance

1 Ответ

2 голосов
/ 02 апреля 2020

Уплощение будет использовано, если ClientDto было

public class ClientDto
{
    public string clientName { get; set; }
}

https://docs.automapper.org/en/stable/Flattening.html

Classi c Для выравнивания не требуется карта для дочернего типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...