Свободный NHibernate, «многие ко многим», установка свойства для ребенка из таблицы «многие ко многим» - PullRequest
0 голосов
/ 11 марта 2011

У меня есть Subscriber объект, который содержит список Provider объектов.Поставщики могут принадлежать многим подписчикам, следовательно, отношение «многие ко многим».Это нормально, за исключением того, что Provider необходимо определить свойство Status, но его нельзя сохранить в таблице Provider, поскольку один и тот же поставщик может иметь разные Status для разных подписчиков, поэтому я сохраняюStatus в таблице «многие ко многим».На данный момент у меня есть базовое отображение «многие ко многим»:

HasManyToMany(s => s.Providers)
    .Table("SubscriberProviders")
    .ParentKeyColumn("SubscriberID")
    .ChildKeyColumn("ProviderID");

Как я могу установить свойство Status для Provider в отображении «многие ко многим»?

Большое спасибо

Ответы [ 2 ]

1 голос
/ 12 марта 2011
Отображение

A many-to-many не может иметь собственных свойств, поэтому необходимо сопоставить таблицу соединений с искусственной ProviderSubscriber сущностью, которая будет one-to-many от поставщика.

Полный пример обходного решения см. В Отношения «многие ко многим» со свойствами

.
1 голос
/ 11 марта 2011

Вам придется сопоставить таблицу перекрестных ссылок (которую в настоящее время генерирует для вас NH) и изменить сопоставление между провайдерами и подписчиками, чтобы вместо этого было HasMany () с обеих сторон, ссылающихся на таблицу перекрестных ссылок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...