Картографический комплекс DTO, которому нужны свойства от разных объектов - PullRequest
0 голосов
/ 19 марта 2020

Какова обычная практика создания DTO из нескольких разных сущностей?

Поскольку DTO больше ориентируется на представление, у нас есть экран, где ему нужны разные свойства от разных сущностей, которые могут быть не связаны.

Пример:

GameEntity {

 id,
 name,
 category

}
FavouriteEntity {

 id,
 GameId

}

GameEntity и FavouriteEntity из двух разных таблиц. Теперь мне нужно передать PlayerGameDto,

PlayerGameDto {
  id,
  name,
  category,
  isFavourite
}

Как вы можете видеть, если я использую mapper, я могу отобразить только одну сущность. Здесь, когда сопоставление свойств GameEntity может быть сопоставлено, но isFavourite опущено.

Каков обычный способ обработки этого сценария с помощью dto mappers?

Связаны ли мапперы один за другим, как

  1. PlayerGameDto dto = Map (). Skip (isFavourite);
  2. Поиск в таблице избранного, если существует dto.id в таблице избранного.
  3. dto.isFavourite = флаг второго шага.

В настоящее время я думаю, что Mappers должны обработать полное преобразование. Таким образом, приведенный выше код (шаги 2 и 3) выглядит неправильно для меня, так как я обновляю свойство dto вне кода картографа. Или это нормальный способ?

...