2
假設過程中不被另一集合內收集我有以下類的結構:NHibernate的查詢
public class State
{
public int Id { get; set; }
public DateTime StatehoodDate { get; set; }
public IList<City> CityList { get; set; }
}
public class City
{
public int Id { get; set; }
public string CityName { get; set; }
}
綁在NHibernate的下表:
CREATE TABLE tblState (
StateId int,
StatehoodDate datetime,
)
CREATE TABLE tblCity {
CityId int,
StateId int,
CityName varchar(1000)
}
*注:假設在這個例子中,每個州只有5-10個城市。這是一個模糊的例子。 *
我想在1900年以後得到StatehoodDate的所有狀態。我還希望自動加載該州的城市列表,因此不需要延遲加載。如何在一個查詢中在NHibernate中查詢? (HQL,標準等無所謂 - 我會使用任何作品。)
我希望有一些方法可以在一個查詢中獲取所有數據,然後執行相同的「GROUP BY」在1900年以後只能獲得StatehoodDate州的列表。在我的示例中,每次運行此查詢時,我都會顯示城市。
延遲加載顯然是一個選擇,但有一個性能命中,因爲會(對日)初始查詢,然後一個查詢