我在Telerik OpenAccess生成的數據模型上使用LINQ來設置搜索查詢並獲取結果。這一切都很好,代碼看起來非常好。 但現在我需要添加一件事,我不知道如何。 我選擇的產品應該爲每個客戶有不同的價格。價格取決於其他兩個SQL表中的其他值。現在我在SQL標量函數中計算價格,但是我不確定如何將它與我的LINQ結合使用。在LINQ查詢中使用計算/標量值
我的目標是檢索一個數據庫往返中的所有數據,並能夠在此計算的價格列上進行排序。
現在,我有這樣的事情:
var products = (from p in Products select p);
if(searchOption)
products = products.Where(product => product.Name.Contains(searchOption));
products = products.OrderByDescending(product => product.Name);
products = products.Skip(pageNr * pageSize).Take(pageSize);
我當然可以,用我的產品類的所有屬性,但我希望能夠使用新的虛擬/計算性能,讓說: Product.CalculatedPrice。
我有一種感覺,它應該看起來有點像這樣。
(from p in Products
select new {
productId = p.ProductId,
name = p.Name,
calculatedPrice = CalculatedValueFromStoredProcedure/OrScalarFunction(p.ProductId, loggedInCustomerId)
});
最好的問候,TYS
也許我錯過了這一點,但不會這樣做:'product => product.Name.Contains(searchOption)&& product.CalculatedPrice <100' –
這樣做,但問題是,CalculatedPrice還沒有。這就是我的問題所在,如何在相同的linq查詢中獲得/選擇計算出的價格? – Tys
你想要做什麼計算?如果它是簡單的加法/乘法,那麼你應該能夠將它添加到Linq表達式中。 – Narnian