/ / Jak przetłumaczyć SQL na LINQ? - linq

Jak przetłumaczyć SQL na LINQ? - linq

sql

select * from (select * from tabla limit 1) as a inner join table b on a.id = b.id where a.id = id

LINQ

from s in tableA
join c in (from a in tableB where a.id==id select a).FirstOrDefault() on s.id equals c.id
where s.id == id
select s

Chcę przetłumaczyć ten sql na linq, ale nie udało się. Jak mogę przetłumaczyć?

Odpowiedzi:

0 dla odpowiedzi № 1

Myślę, że to zrobi, ale powinieneś sprawdzić, jaki sql jest generowany przez linq.

a = tableA.FirstOrDefault();

//First option
tableB.Where(xb => xb.id = a.id)
.Select(xb => new {a = a, b = xb})
.Where(abx => abx.a.id == id)

//Second option
tableB.Select(xb => new {a = a, b = xb})
.Where(abx => abx.a.id == id && abx.a.id = abx.b.id)