Chu*_*ris 3 c# nhibernate asp.net-mvc-3
我第一次使用NHibernate,在这一行中它为我抛出了异常
var total = session
.QueryOver<Comment>().Where(p => p.Entry.Author == username)
.ToRowCountQuery()
.FutureValue<int>();
var results = session
.QueryOver<Comment>().Where(p => p.Entry.Author == username)
.Fetch(x => x.Entry).Eager()
.OrderBy(x => x.Posted).Desc()
.Skip(skip)
.Take(take)
.List();
Run Code Online (Sandbox Code Playgroud)
例外是
无法解析属性:Entry.Author of:FunnelWeb.Model.Comment
我想,问题是Entry这里没有加载对象.我怎么能用Nhibernate来做这个伎俩?
QueryOver只是Criteria的强类型包装器,不允许隐式深层引用.
你必须使用:
session.QueryOver<Comment>()
.JoinQueryOver(x => x.Entry)
.Where(x => x.Author == username)
Run Code Online (Sandbox Code Playgroud)
或者您可以使用Query<>(LINQ),它将使用您尝试过的语法.