Какова обычная практика создания DTO из нескольких разных сущностей?
Поскольку DTO больше ориентируется на представление, у нас есть экран, где ему нужны разные свойства от разных сущностей, которые могут быть не связаны.
Пример:
GameEntity {
id,
name,
category
}
FavouriteEntity {
id,
GameId
}
GameEntity и FavouriteEntity из двух разных таблиц. Теперь мне нужно передать PlayerGameDto,
PlayerGameDto {
id,
name,
category,
isFavourite
}
Как вы можете видеть, если я использую mapper, я могу отобразить только одну сущность. Здесь, когда сопоставление свойств GameEntity может быть сопоставлено, но isFavourite опущено.
Каков обычный способ обработки этого сценария с помощью dto mappers?
Связаны ли мапперы один за другим, как
- PlayerGameDto dto = Map (). Skip (isFavourite);
- Поиск в таблице избранного, если существует dto.id в таблице избранного.
- dto.isFavourite = флаг второго шага.
В настоящее время я думаю, что Mappers должны обработать полное преобразование. Таким образом, приведенный выше код (шаги 2 и 3) выглядит неправильно для меня, так как я обновляю свойство dto вне кода картографа. Или это нормальный способ?