如標題所示,有沒有辦法在SODA查詢中檢查空集合?如何檢查db4o的SODA查詢中的空集合
我可以檢查集合字段是否設置爲空並檢查集合元素中的屬性值,但不知道如何檢查集合是否沒有元素。
任何幫助表示讚賞:)
編輯1:我知道如何使查詢發生外db4o的過濾,即通過切換爲使用本機查詢或LINQ;或者執行與使用評估時收集的計數相同的等價物。
我實際上是在試圖避免那裏的原生查詢引起的激活,因爲它在我們的場景中確實擊中了我們。
如標題所示,有沒有辦法在SODA查詢中檢查空集合?如何檢查db4o的SODA查詢中的空集合
我可以檢查集合字段是否設置爲空並檢查集合元素中的屬性值,但不知道如何檢查集合是否沒有元素。
任何幫助表示讚賞:)
編輯1:我知道如何使查詢發生外db4o的過濾,即通過切換爲使用本機查詢或LINQ;或者執行與使用評估時收集的計數相同的等價物。
我實際上是在試圖避免那裏的原生查詢引起的激活,因爲它在我們的場景中確實擊中了我們。
我沒有運氣尋找解決方案或嘗試任何選項與計數或大小作爲檢查。嘗試不同的選擇有一些集中的集成測試進行備份後,我發現一個做的伎倆:
鑑於List類型的字段_list:
...
query.Descend("_list").Constrain(typeof(Item)).Not();
...
它有效只會返回記錄沒有列表中的項目,因爲這些是唯一通過沒有Item類型項目的檢查。它適用於這兩種情況,當_list爲空或是一個空列表時。
注:我不知道如何使用db40。這完全基於搜索
看看Size
方法IObjectSet
here。
編輯:基於我對「db40 SODA查詢」的搜索,我看到了使用IObjectSet
作爲query.Execute
的返回值的示例,因此上述內容可能有所幫助。
嗨,謝謝你的回答。不幸的是,這是我們作爲查詢結果得到的結果,我需要做的是在查詢中過濾基於屬性的集合。也就是說,值得一試,如果db4o在查詢中使用了一些約定,我認爲我嘗試了Count(基於.net),但是我會嘗試使用Size,以防萬一:) – eglasius 2011-03-05 20:54:03