2012-05-31 64 views
0

我需要做的是在nHibernate中進行查詢(完全動態我不知道有多少個對象)。nHibernate abstractCriterion並進行動態查詢

此查詢應該返回的是特定Id的對象(我得到List<int>)。

有沒有什麼辦法,使限制像

Restrictions.Eq("Id",first item from my list of ints).Or("Id",second item) .... and so on. 

我知道我可以AbstractCriterion來,但不知道如何檢查,如果從我的List<int>對象是第一位的。

那麼我該如何做到這一點?

感謝提前:)

回答

3

您需要In標準:

session.CreateCriteria(typeof(XYZ)) 
.Add(Expression.In("Id", values)) 
+0

值是整數的情況下,我的列表中的某些對象的列表? – harry180

+0

Thi。雖然請記住,NHibernate將發送每個值作爲參數。所以如果你有一個大的數組,你將運行在參數大小限制之下。 – Vadim

+0

nHibernate @Vadim有什麼大小限制? – harry180