NHibernate: отношение «многие ко многим» с полем в таблице отношений - PullRequest
6 голосов
/ 26 апреля 2010

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

Ответы [ 2 ]

4 голосов
/ 26 апреля 2010

Я думаю, что вам не хватает дополнительной сущности. Вам необходимо добавить объект, который выражает интерес клиента к автомобилю. Вам нужно будет найти правильное имя, соответствующее вашему бизнес-домену, но вот мое предположение:

У вас есть таблица CUSTOMER для хранения информации о конкретном клиенте. CUSTOMER имеет отношение один ко многим к таблице CUSTOMERINTEREST. CUSTOMERINTEREST хранит информацию о видах покупок, которыми занимается покупатель (тест-драйвы, витрины и т. Д.). CUSTOMERINTEREST имеет отношение один к одному с таблицей CAR. CAR хранит информацию о конкретных автомобилях в инвентаре магазина.

Итак, я думаю, что если в середине ваших отношений нужно больше столбцов, чем просто два внешних ключа, то у вас нет отношения многие ко многим. У вас есть два отношения один к одному, и вы просто еще не определили вещь в середине.

4 голосов
/ 26 апреля 2010

Сделать отношения сущностью:

class CarRelation
{
  Car Car {get; set; }
  RelationType Type {get; set;}
}

Чистое отношение «многие ко многим» не имеет никаких дополнительных свойств.

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