c# Automapper — Как отобразить объект в objectc

#c# #automapper

Вопрос:

Я хочу сопоставить эти два объекта,

 public class Update {   public string aa{ get; set; }  }  public class Date {  public DateTime ww{ get; set; }  }   public class Update11 {  public string aa{ get; set; }  }  public class Date {  public DateTime ww{ get; set; }  }  

Я создаю карту: CreateMaplt;Обновить, Обновить11gt;(); CreateMaplt;Обновить 11, Обновитьgt;();

Комментарии:

1. Добавьте конфигурацию также для типов DateRange

Ответ №1:

Вам нужно добавить свои DateRange модели в свой профиль картографа.

 CreateMaplt;namespace1.DateRange, namespace2.DateRangegt;().ReverseMap();  

В зависимости от используемой версии вы также можете использовать .ReverseMap() вместо явного создания карты для обратного сопоставления.

 CreateMaplt;UpdateCost11, UpdateCostDtogt;().ReverseMap();  

Ответ №2:

Несмотря на то, что классы DateRange в Dto и ваш основной класс имеют одинаковую структуру, их пространство имен отличается. И автоматический картограф не будет отображать его так, как вы хотите.

Вам нужно либо удалить один из классов DateRange и перейти к одному из них, либо, как предложил @Hamlet Акопян, вы должны добавить следующую конфигурацию

 CreateMaplt;SourceNameSpace.DateRange, DestinationNameSpace.DateRangegt;();  

Измените имя источника и имя места назначения на то, которое у вас есть.