Используя обратную связь дважды? - PullRequest
2 голосов
/ 24 ноября 2011

Я хотел бы знать, могу ли я использовать одно и то же обратное отношение дважды для двух разных отношений?

Вот пример:

Trip

  • Источник (отношение «один к одному») MapPoint (обратная ссылка)

  • Пункт назначения (отношение «один к одному») MapPoint (обратная ссылка)

MapPoint

  • ReferencedBy (отношение ко многим) Trip (здесь проблема, как установить обратное?)

1 Ответ

0 голосов
/ 25 октября 2012

Нет, ты не можешь или не должен. Я пытался, и это вызывает беспредел.

Так что у MapPoint должно быть 2 отношения.

ReferencedByOrigin ReferencedByDestination

Сначала это может выглядеть странно. Но подумай об этом. В этом подходе нет ничего плохого.

Другой подход состоит в том, чтобы иметь отношение один-ко-многим от MapPoint к Origin и Destination и ставить перечисление.

Этот подход более элегантный, но на самом деле гораздо более сложный.

Другой подход состоит в том, чтобы иметь 2 объекта происхождения и назначения.

Этот более элегантный, но все же вам понадобится

ReferencedByOrigin
ReferencedByDestination

в MapPoint.

...