У меня есть модель данных, которая включает в себя типы элементов Stage, Actor и Form. Логически, этапам могут быть назначены пары (актер формы <--->), которые могут дублироваться много раз (т. Е. Один и тот же человек и одна и та же форма добавляются к одной и той же стадии в более позднюю дату / время).
Сейчас я моделирую это с помощью этих таблиц:
Stage
Form
Actor
Form_Actor
_______________
|Id |
|FormId | --> Id in Form
|ActorId | --> Id in Actor
Stage_FormActor
__________________
|Id |
|StageId | --> Id in Stage
|FormActorId | --> Id in Form_Actor
Я использую CodeSmith для генерации слоя данных для этой настройки, и ни один из шаблонов не знает, как правильно обрабатывать этот тип отношений при генерации классов. В идеале ORM должен иметь Stage.FormActors, где FormActor будет парой Form, Actor.
Это правильный способ моделирования этих отношений. Я попытался использовать все три идентификатора в одной таблице
Stage_Form_Actor
______________
|Id |
|StageId | --> Id in Stage
|FormId | --> Id in Form
|ActorId | --> Id in Actor
Это не очень хорошо генерируется. Идеи?