2008-11-10 27 views
-1

我有一個LINQ-to-SQL DataContext,它表示產品與價格的父子關係。我遍歷一系列產品並檢索每個產品的價格。問題在於產品和價格背後的表格包含多個環境的產品或價格列表,由3個字段的複雜關鍵字確定。我只想爲其中一個環境檢索產品和價格。我可以爲Linq-to-sql DataContext指定一組基本參數嗎?

我能做到這一點可以指定一個長期其中每個LINQ查詢,包括產品密鑰和複雜環境的關鍵,像這樣的條款:

var price = (from condition in conditiontype where condition.MaterialNumber == material && condition.Client == "400" && condition.SalesOrg == "1000" && condition.DistributionChannel == "10" select condition.ConditionDetails[0].ConditionValue); 

想我能夠做到是爲DataContext全局指定Client,SalesOrg和DistributionChannel,以便我需要在查詢中指定的所有內容都是產品ID(MaterialNumber)。這樣當我開始查詢我們的Production環境時,對DataContext的簡單更改將改變我查詢的環境。

這可能嗎?無論是簡單的代碼示例還是指向背景理論的指針都會很棒!

回答

0

你可以有一個預先寫好的Expression<T>,你那麼有那些價值觀在裏面:

public Expression<Func<int>> GetPrices = p => // do Lambda here 

或者你可以把屬性到您的DataContext(請記住,這是一個部分類,所以可以很容易地擴展)你設置的,然後通過你的表達讀入。

+0

這是我的想法,但我不確定在部分類中設置這些值的位置。 – cori 2008-11-12 17:57:52

相關問題