在高層次上,我需要一個能夠根據列的總和抽取記錄子集的查詢,就像Linq: How to query items from a collection until the sum reaches a certain value一樣。使用LINQ來拉取集合,直到聚合條件滿足爲止
但是,關鍵的區別是他已經得到了他的記錄在一個對象中,而我沒有也不能。我的表可以有數百萬條記錄。如果我建我的查詢他的方式,我得到這個錯誤:
"A lambda expression with a statement body
cannot be converted to an expression tree"
哪個研究之後有道理,LINQ不能把答案在上面提到的問題,爲有效的SQL。
我要製作一張假想的表格來代表我的情況。
Order Id | Cookie Name | Qty
1 Sugar 5
2 Snickerdoodle 4
3 Chocolate chip 8
4 Snickerdoodle 10
5 Snickerdoodle 5
鑑於此示例中,我需要編寫抓起Snickerdoodle
第一X
訂單查詢,直到總結數量從參數exceedes輸入(即如果用戶選擇13,它將返回記錄2 & 4 )。
我使用Nhibernate.Linq,因爲我在LINQ中更加舒適。如果需要,我完全向ICreate開放。
作爲一個便箋,我對這個概念以及直接問題感興趣。即使我需要一個總和,也必須有一種方法來執行類似於執行的操作,直到條件滿足爲止。
我想是因爲他還濾波 「Snickerdoodle」。 – recursive
我會建議編寫sql,而不是找出LINQ表達式。 –
在SQL中表示該查詢可能相當複雜,這意味着它可能甚至更糟(如果可能的話)使用NH執行查詢。傑斯是對的;首先去SQL。你甚至不需要轉換它,NH支持來自SQL的映射實體。 –