2012-08-09 68 views
0

我有一个映射对象如下NHibernate的查询记录,查询一个子集合的孩子价值

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

现在我需要写一个返回有2

如何STATEID所有人查询你会通过在nhibernate中的查询调用返回它吗?

session.Query()。其中​​(T => t.Countries.States.ID == 2)就是我希望做或结了,但不知道如何得到它与

回答

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()