Nhibernate: не получать при доступе к первичному ключу дочерних объектов - PullRequest
2 голосов
/ 29 марта 2010

Есть ли способ в NHibernate получить внешний ключ дочернего объекта, не выбирая дочерний объект?

EG.

У меня есть User и UserRole. Могу ли я получить доступ к User.UserRole.UserRoleId, не вызывая еще один удар по базе данных для получения UserRole?

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

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 29 марта 2010

Это поле отображается как ленивое?

Звучит так, будто вы хотите ленивой загрузки. Когда Many-to-one отображается как ленивый, создается прокси, в котором будет заполнено только поле id. Как только вы получите доступ к любому свойству, кроме идентификатора, оно будет загружено из БД.

0 голосов
/ 29 марта 2010

Может быть, вы могли бы добавить другое поле UserRoleId к объекту User? Звучит немного грязно, и вам нужно будет поддерживать синхронизацию при изменении UserRole.

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