Можно ли сопоставить составной ключ в беглом nhibernate, где половина ключа является полем идентификации в базе данных? - PullRequest
0 голосов
/ 24 октября 2009

Как говорится в вопросе, возможно ли сопоставить составной ключ в беглом nhibernate (или, я полагаю, не беглом), где одно из двух полей, используемых в составном файле, является полем идентификации?

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

спасибо!

1 Ответ

0 голосов
/ 24 октября 2009

Если это действительно столбец идентификаторов, то он гарантированно будет уникальным для каждой записи, верно?

Если это так, вы можете полностью игнорировать ID арендатора для целей сопоставления. Ваши идентификационные поля будут уникальными в вашей первичной таблице - И ссылки на внешние ключи будут содержать этот уникальный Id, поэтому ID арендатора на самом деле не имеет значения.

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

Подумай об этом. Не интуитивно, но, вероятно, будет работать.

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