Nhibernate:访问子对象主键时不要获取

时间:2010-03-29 02:52:12

标签: nhibernate fetch

NHibernate中有没有办法获取子对象的外键,而不需要获取子对象?

EG。

我有User和UserRole。我是否可以访问User.UserRole.UserRoleId而不会导致数据库再次命中以检索UserRole?

我意识到我可以将获取模式设置为eager,这将阻止它再次访问数据库,但理论上不应该这样做,因为User表中有UserRoldId。

提前致谢。

2 个答案:

答案 0 :(得分:2)

此字段是否被映射为非惰性?

听起来你想要延迟加载。当多对一映射为惰性时,会创建一个只填充id字段的代理。一旦访问除id之外的任何属性,它将从db加载。

答案 1 :(得分:-1)

也许你可以在User对象中添加另一个字段UserRoleId?听起来有点脏,你需要在更改UserRole时连接它以保持同步。