2012-08-09 69 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()