我知道網上有很多這樣的例子,但我似乎無法得到這個工作。LINQ到對象的動態where子句
讓我試着設置它,我有一個自定義對象列表,我需要對一系列值進行限制。
我有一個基於UI上的某些操作而改變的排序變量,並且我需要根據該操作以不同方式處理該對象。
這是我的目標:
MyObject.ID - Just an identifier
MyObject.Cost - The cost of the object.
MyObject.Name - The name of the object.
現在我需要基於成本範圍內篩選這一點,所以我將與此類似,考慮到我可以用我的底部或者被限制兩個屬性。
var product = from mo in myobject
where mo.Cost <= 10000
或
var product = from mo in myobject
where mo.Name equals strName
現在我已經在我的項目動態LINQ,但我沒有搞清楚如何得到它的實際工作,因爲當我做一些我的例子只能得到:
Func<Tsourse>bool> predicate
作爲選項。
更新: 我試圖找到一個解決方案,可以幫助我物化我的代碼,因爲現在它是一個很大的複製和粘貼我的LINQ查詢。
更新2: 是否存在之間存在明顯的性能差異:
var product = from mo in myobject
... a few joins ...
where mo.Cost <= 10000
和
var product = (from mo in myobject
... a few joins ...)
.AsQueryable()
.Where("Cost > 1000")
不其中mo.Cost <= 10000 || mo.Name等於strName工作? –
您是否在''using'中添加了'System.Linq.Dynamic'? –