NHibernate查询帮助,查询子集合的子值

时间:2012-08-09 12:19:58

标签: c# .net nhibernate

我有一个映射对象,如下所示

Person
|- List of Countries 
|  |- Person ID
|  |- Country ID
|  |- List of States
|  |   |- State ID

现在我需要编写一个返回所有状态ID为2

的人的查询

如何通过nhibernate中的Query调用返回它?

session.Query()。其中​​(t => t.Countries.States.ID == 2)是我要做的或最终的但不知道如何用

1 个答案:

答案 0 :(得分:1)

您可以使用linq执行以下操作

var persons = (from person in session.Query<Person>()
               from country in person.Countires
               from state in country.States
               where state.ID == 2
               select person).ToList()