Klauzula WHERE IN z dwoma parametrami w linq

0

Gdy mam WHERE IN z jednym parametrem to uzywam Contains ale gdy mam dwa parametry to nie dziala. Musze takie podzapytanie w SQL napisac w linq:

SELECT ename, sal, deptno
FROM emp
WHERE (sal, deptno) IN
(SELECT MIN(sal), deptno
FROM emp
GROUP BY deptno);

Napisalem tyle i nie wiem co zrobic z tym Contains

var min = (from emp in Emps
                       group emp by new { Dzial = emp.Deptno} into grouped
                       select new
                       {
                           grouped.Key.Dzial,
                           wynik = grouped.Min(x => x.Sal)
                       });

            var result = (from emp in Emps
                          where min.Contains(emp.Deptno, emp.Sal)
                          select new
                          {
                              emp.Ename,
                              emp.Sal,
                              emp.Deptno
                          });
1

W sensie chcesz przepisać z SQL do EF tak aby ten EF wygenerował taki sam jak oryginalny kod SQL?
To się raczej nie uda. Zła technologia, a i idea dziwna.

0
var result = Emps
                .GroupBy(x => x.deptno)
                .Select(g => g.OrderBy(x => x.sal).FirstOrDefault());

1 użytkowników online, w tym zalogowanych: 0, gości: 1