use*_*086 2 nhibernate linq-to-nhibernate nhibernate-criteria
我正在使用NHibernate 3.0并且正在比较Query和QueryOver
var p = _prepo.Query<Party>()
.Where(c => c.Person.LastName == "Bobby")
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
上面的工作,如果我查看对象图,我得到p.Person的代理类.
var p = _prepo.QueryOver<Party>()
.Where(c => c.Person.LastName == "Bobby")
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
这个失败,错误==>无法解析属性:Person.LastName:
为什么?
我不熟悉Linq提供程序但是在使用时QueryOver你必须使用联接来执行这样的查询:
IQueryOver<Cat,Kitten> catQuery =
session.QueryOver<Cat>()
.JoinQueryOver(c => c.Kittens)
.Where(k => k.Name == "Tiddles");
Run Code Online (Sandbox Code Playgroud)
Cat catAlias = null;
Kitten kittenAlias = null;
IQueryOver<Cat,Cat> catQuery =
session.QueryOver<Cat>(() => catAlias)
.JoinAlias(() => catAlias.Kittens, () => kittenAlias)
.Where(() => catAlias.Age > 5)
.And(() => kittenAlias.Name == "Tiddles");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5005 次 |
| 最近记录: |