【发布时间】:2012-04-03 19:19:49
【问题描述】:
我正在使用 NHibernate 3.0 并且正在比较 Query 和 QueryOver
var p = _prepo.Query<Party>()
.Where(c => c.Person.LastName == "Bobby")
.FirstOrDefault();
以上工作,如果我查看对象图,我会得到 p.Person 的代理类。
var p = _prepo.QueryOver<Party>()
.Where(c => c.Person.LastName == "Bobby")
.FirstOrDefault();
这个失败并出现错误 ==> 无法解析属性:Person.LastName of:
为什么?
【问题讨论】:
-
我猜你正在使用 NHibernate.Linq 扩展。我发现生成的 SQL 问题几乎完全相同(至少对于这种类型的问题(我称之为“一阶嵌套查询”))。
Note:如果LastName是主键/外键,那么QueryOver就可以正常工作。
标签: nhibernate linq-to-nhibernate nhibernate-criteria