1
我需要編寫一個NHibernate查詢,它將放置一個限制來訪問一對多關係中的子項。如何編寫查詢兒童的NHibenerate查詢?
例如,我有一個客戶對象,其屬性是地址列表。我需要找到在某個城市有地址的所有客戶。
此外,我正在寫這個查詢,這樣我也會將其他限制添加到客戶本身,例如狀態,名稱等。所以,我無法純粹從地址角度編寫查詢。
有關如何完成此任何想法?
我需要編寫一個NHibernate查詢,它將放置一個限制來訪問一對多關係中的子項。如何編寫查詢兒童的NHibenerate查詢?
例如,我有一個客戶對象,其屬性是地址列表。我需要找到在某個城市有地址的所有客戶。
此外,我正在寫這個查詢,這樣我也會將其他限制添加到客戶本身,例如狀態,名稱等。所以,我無法純粹從地址角度編寫查詢。
有關如何完成此任何想法?
您可以使用標準的API,與你的客戶對象不會忽略物業的「嵌套」的標準:
var result = session
.CreateCriteria(typeof(Customer))
.CreateCriteria("Adresses")
.Add(Restriction.Eq("City", "NY"))
.ToList<Customer>();
如果您需要在名稱查詢,你可以去這樣的:
var customerCriteria = session
.CreateCriteria(typeof(Customer));
customerCriteria.Add(Restrictions.Like("Name", "John", MatchMode.Exact));
customerCriteria.CreateCriteria("Adresses")
.Add(Restriction.Eq("City", "NY"));
var result = customerCriteria.ToList<Customer>();
美麗!謝謝! – 2010-11-09 21:57:59