Mam takie zapytanie SQLowe:
SELECT * FROM Accounts WHERE IdAccount = (SELECT IdAccount FROM Assistances WHERE IdUser=6);
Ogarnąłem to w ten sposób:
var assists = _context.Assistances.Where(c => c.IdUser == user.IdUser).ToList();
var query = _context.Accounts.Where(x => x.IsDeleted != 1);
foreach(var assist in assists)
{
query = query.Where(z => z.IdAccount == assist.IdAccount);
}
Rozwiązanie trochę mało eleganckie - jestem pewien, że da się to ogarnąć jednym wyrażeniem LINQowym, poza tym nie do końca działa, bo kolejne predykaty WHERE dodawane do zapytania budują wyrażenie typu AND a nie OR.
Mógłbym prosić o wsparcie w tym temacie?
Z góry dziękuję