Как объединить две таблицы вместе со столбцами, которые не являются ключами (в NHibernate)? - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть одна таблица с идентификатором (PK) и другая таблица с кучей информации. Между первой таблицей и некоторыми данными во второй таблице будет отношение один ко многим, но FK нигде нет. Поэтому я хочу сделать внутреннее соединение для table1.Id с table2.OtherId.

Моя модель настроена с использованием IList, и в моей таблице table1 есть:

HasMany(x => x.Properties).KeyColumn("table2id");

но я думаю, поскольку он не знает, с чем соединить этот столбец в первой таблице, он не будет работать. Я знаю, что модель table2 работает правильно, потому что я попробовал ее сам и получаю все правильные данные. Это просто вещь из HasMany, которая запуталась.

Я смотрел на другие "связанные" вопросы здесь, на SO, но я не вижу ничего, что работает для меня.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2011

Так что оказалось, что мне нужно, чтобы References в Таблице 2 отображалось на Таблицу1 А потом просто HasMany(x => x.Properties).Inverse.Cascade.None() в Table1 Mapping разобрались.

0 голосов
/ 12 февраля 2011

Вам не нужно иметь отношение FK, но столбец, указанный в KeyColumn, должен быть первичным ключом таблицы 2. Я не знаю обходного пути.

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