Im пытается решить что-то только одним предложением linq, и я не знаю, возможно ли это сделать. У меня есть одна таблица с именем ЦЕН, с этим полем:Слияние двух таблиц с использованием критериев с linq
pkey: int
region: int?
product_type: int
product_size: int
price: double
desc: string
Уникальный ключом является: product_type + product_size
Я хочу, чтобы сделать запрос, который возвращает все строки, в которых область == 17 (это мой первый набор строк) И хочу добавить все строки, где область равна нулю (это мой второй набор строк) BUT , если в обоих наборах есть строки с одинаковыми product_type и product_size, я хочу в конечном результате просто строка первого набора.
Пример:
pkey | region | product_type | product_size | price | desc
1, null, 20, 7, 2.70, salad1
2, null, 20, 3, 2.50, salad7
3, 17, 20, 7, 1.90, saladspecial
4, 17, 20, 5, 2.20, other
Я хочу запрос LINQ, который возвращает это:
2, null, 20, 3, 2.50, salad7
3, 17, 20, 7, 1.90, saladspecial
4, 17, 20, 5, 2.20, other
(обратите внимание, что строка с PKey 1 отбрасывают, так как строка с клавишей P. 3 имеет тот же product_type и product_size)
var query1 = from p in PRICES where p.region == 17
select p;
var query2 = from p in PRICES where p.region is null
select p;
Вопросы:
Как присоединиться к запросу1 и query2 для получения ожидаемого результата?
Это может быть сделано только с одним запросом?
Вы качается человек, он работал прекрасно – DiegoGalo
я имея исключение с запросом: «Действительный ResultType может не следует выводить из результатов ResultTypes указанных выражений «Then». Почему это происходит? – DiegoGalo
@DiegoGalo Я протестировал запрос 'lazyberezovsky', и он работает нормально. Стиль 'expression' делает этот запрос более кратким, чем стиль' method'. –