如何使用NHibernate的标准api查询子属性?

时间:2009-07-09 10:35:00

标签: nhibernate criteria

我想创建一个需要将属性的属性与某个值进行比较的查询。例如:

... WHERE Identity.Location.Room = "room #1"

如何使用条件api实现此目的?

最诚挚的问候是奥利弗·哈纳皮

2 个答案:

答案 0 :(得分:3)

这将通过加入您的表来执行查询:

var criteria = session.CreateCriteria(typeof(Identity))
    .CreateAlias("Location", "l")
    .Add(Restrictions.Eq("l.Room", "room #1"));

答案 1 :(得分:1)

尽量不要在别名中使用数字。

    var criteria = session.CreateCriteria(typeof(Identity))
    .CreateAlias("Location", "Al")
    .Add(Restrictions.Eq("Al.Room", "room #1"));