2010-08-18 6 views
3

У меня есть таблица пользователей, которая обновляется другими системами. Я сопоставил таблицу с объектами моих пользователей, и это отлично работает. Поскольку данные пользователя принадлежат другой системе, я не хочу изменять структуру этой таблицы.Сопоставление свойства с другой таблицей с использованием NHibernate

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

Возможно ли это на карте в NHibernate? Я бы хотел, чтобы я мог обновить это напрямую через NHibernate.

+0

Возможный дубликат [Сопоставление свойства с полем из другой таблицы в NHibernate] (http://stackoverflow.com/questions/2485123/mapping-a-property-to-a-field-from-another-table- in-nhibernate) –

ответ

4

Вы должны изучить картографию <join>, использование описано в this article.

+0

Привет, Dan, насколько я могу видеть, для соединения требуется, чтобы у меня был внешний ключ и значение в таблице. То, что я искал, имело одну таблицу столбцов, содержащую только внешний ключ, и ничего больше. –

+0

@ Rune: Было бы действительно * * большим сделкой, если бы у вас было свойство UserId и boolean, указывающее, что они администратор ? – DanP

+0

@ Rune: взгляните на документы: http://nhforge.org/doc/nh/en/index.html#mapping-declaration-join. Я полагаю, что «необязательная» настройка может дать вам то, что вам нужно; вам придется иметь еще один столбец, но если он равен нулю, строка не будет существовать ... Я думаю, это примерно так же близко, как вы получите ... – DanP

Смежные вопросы