0
我們有一個允許用戶指定標準來查詢數據庫的表單。nHibernate動態查詢使用OR
我們的表單構建了用於構建nHibernate標準的「標準」對象。
我們當前的代碼來做到這一點:
public virtual ICriteria BuildCriteria(ICriteria criteria)
{
foreach (SheCriterion criterion in this.SheCriterions)
{
if (criterion.OperatorKey == "OR")
{
//// code required here to process ORs
}
criteria.Add(criterion.BuildCriterion());
}
return criteria;
}
不幸的是,這就是我堅持的 - 如果我們的,並且每個標準是沒有問題的,但我在工作中的困難,出來怎麼加ORs - 當我們知道涉及OR時,之前的標準已經被處理。
任何人都可以幫忙嗎?
FIRO嗨, - 我不能得到這個代碼工作 - 是什麼在這裏左右? – Matt 2012-07-24 09:57:05
您的SheCriterions必須是標準樹而不是標準列表。爲了說明,我介紹了一個具有左SheCriterion和右SheCriterion的假想SheOrCriterion。除此之外,你(和NHibernate)將無法知道將括號放在結果過濾器中的位置。 – Firo 2012-07-24 10:05:41
感謝您的幫助 - 我在樹結構方面遇到困難。這裏的搜索顯示在c#中沒有任何標準的樹結構。 – Matt 2012-07-24 10:27:47