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