-1

製品と価格の親子関係を表す LINQ-to-SQL DataContext があります。製品のリストを繰り返し処理し、それぞれの価格を取得しています。問題は、製品と価格の両方の背後にあるテーブルに、3 つのフィールドの複雑なキーによって決定される、複数の環境の製品または価格のリストが含まれていることです。これらの環境の 1 つのみの製品と価格を取得したいと考えています。

プロダクト キーと複雑な環境キーで構成される各 LINQ クエリで、次のような長い where 句を指定することで、これを行うことができます。

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 に対してクライアント、SalesOrg、および DistributionChannel をグローバルに指定して、クエリ自体で指定する必要があるのは製品 ID (MaterialNumber) だけであることです。そうすれば、本番環境のクエリを開始するときに、DataContext を変更するだけで、クエリ対象の環境が変更されます。

これは可能ですか?簡単なコード サンプルまたは背景理論へのポインタのいずれかが素晴らしいでしょう!

4

1 に答える 1

0

事前に作成Expression<T>したものにそれらの値を含めることができます。

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

または、DataContext にプロパティを配置することもできます (これは部分クラスであるため、簡単に拡張できることに注意してください)。これを設定すると、式によって読み込まれます。

于 2008-11-12T00:08:08.193 に答える