【发布时间】:2011-09-30 10:21:56
【问题描述】:
我已经四处搜索,但没有发现我在这里做错了什么。
我有一个对象 C,它包含一个对象 L 的列表,对象 C 还包含一个对类 R 的引用。
我想从对象 L 中找到对象 R。
我正在尝试这样做,但使用此代码我只能得到 null:
L 已经是函数接收的实例化对象。
var t = SessionController.CurrentSession.QueryOver<C>()
.Where(c => c.Id == L.C_Id)
.JoinQueryOver<R>(c => c.R)
.Select(c => c.R).SingleOrDefault();
任何想法我在这里做错了什么将不胜感激。 谢谢
【问题讨论】:
-
什么是 L?您的查询毫无意义,不确定您在问什么。
-
如果
L已经被实例化了,你不能直接去L.C.R吗? -
sJhonny,这是真的,我可以。我试图了解这是如何工作的,但是如果我因为延迟加载而无法做到这一点,或者根本没有该引用或只是一个 Id 引用。
-
要查看 NHibernate 正在运行哪些查询,您应该获取 NHibernate Profiler (nhprof.com) 或在您的 NHibernate 配置中将
show_sql设置为 true,这将在您的控制台中输出正在运行的 SQL。 -
另外,查看您的 NHibernate 映射可能会有所帮助。
标签: nhibernate fluent-nhibernate queryover