У меня есть DataContext LINQ-to-SQL, который представляет отношение «родитель-потомок» продуктов к ценам. Я перебираю список продуктов и получаю цены на каждый из них. Проблема заключается в том, что в таблицах за продуктами и ценами содержится список продуктов или цен для нескольких сред, определяемый комплексным ключом из 3 полей. Я хочу получить продукты и цены только для одной из этих сред.
Я могу сделать это, указав в каждом запросе LINQ предложение long 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 );
что я хотел бы сделать, это глобально указать Client, SalesOrg и DistributionChannel для DataContext, так что все, что мне нужно указать в самом запросе, - это Product ID (MaterialNumber). Таким образом, когда я начинаю запрашивать нашу производственную среду, простое изменение DataContext изменит то, какую среду я запрашиваю.
Возможно ли это? Либо краткий пример кода, либо указатели на фоновую теорию были бы замечательными!