2011-05-16 28 views
8

我想模仿與NHibernate的IQueryOver主題查詢。到目前爲止,我有哪裏..​​.在...或在哪裏...在...與NHibernate IQueryOver

var q = CurrentSession.QueryOver<ObjectModel.Order>(). 
    WhereRestrictionOn(o => o.Buyer.ID).IsIn(partyIDs). 
    WhereRestrictionOn(o => o.Seller.ID).IsIn(partyIDs); 

然而,這產生and查詢,而我需要有兩個where子句之間的or操作。

這是怎麼做的IQueryOver

回答

9

通常情況下,在向公衆解釋問題後不久就會發現問題。多謝你們!

var q = CurrentSession.QueryOver<ObjectModel.Order>(); 

q.RootCriteria.Add(Restrictions.Or(
    Restrictions.On<ObjectModel.Order>(o => o.Buyer.ID).IsIn(partyIDs), 
    Restrictions.On<ObjectModel.Order>(o => o.Seller.ID).IsIn(partyIDs))); 
+3

可以檢查這個太安東[queryover和(x像 '一' 或y像 'A')](http://stackoverflow.com/questions/4541546/queryover-and-x-like- a-or-y-a) – Bastardo 2011-05-16 15:36:17

+0

@Burn值得一個單獨的答案。謝謝! – 2011-05-16 15:43:31