Сохранение дополнительной информации с коллекцией Many To Many - PullRequest
0 голосов
/ 26 ноября 2010

Я пытаюсь построить сопоставление для следующей проблемы. Кейс может иметь несколько клиентов, а клиент может быть подключен к нескольким Кейсам.

у меня есть эти сопоставления: Случай

 Map(x => x.CaseNumber);
        References(x => x.Status).Cascade.All();
        HasManyToMany<Client>(x => x.Clients)
        .Table("CaseToClient")
        .Access.CamelCaseField(Prefix.Underscore)
        .Cascade.SaveUpdate()
        .LazyLoad();

Теперь моя таблица CaseToClient состоит из Case_Id и Client_Id. Мне нужен еще один столбец в таблице, в котором для случая имеет значение boolen клиента. Как я могу добавить столбец, чтобы я мог написать свойство?

1 Ответ

5 голосов
/ 26 ноября 2010

Не используйте много ко многим, используйте два отображения один ко многим.

Создайте отдельную сущность для ClientCase, которая ссылается как на Case, так и на Client, а также имеет ваше логическое свойство.

С NHibernate In Action , стр. 193:

"мы избегаем использования многих ко многим ассоциации, потому что есть почти всегда другая информация, которая должна быть прикреплен к ссылкам между связанные случаи; Лучший способ для представлять эту информацию через промежуточный класс ассоциации. "

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