Я использую sql profiler, чтобы увидеть sql, сгенерированный Ef core2.1,
это мой запрос linq:
var resulat = (from a in A
join b in B equals a.level=b.level
where ...
select new M1 {AId = a.id}).Distinct();
(from r in resulat
join c in C equals r.AId = c.AId
select new M2
{
CId = c.Id,
level = _helper(c.level)
}).Distinct();
Сгенерировано Sql:
select t.AId,c.Id,c.level
from
(
select distinct a.id
from A a
inner join B b on a.level=b.level
where ...
) as t
inner join C c on t.AId = c.AId
Что я хочу получить в результате:
select distinct c.Id,c.level
from
(
select distinct a.id
from A a
inner join B b on a.level=b.level
where ...
) as t
inner join C c on t.AId = c.AId
Я также пытался использовать select / Different с результатом IQueryable, но сгенерированный sql такой же.
что я пропустил в своем запросе linq или что я должен добавить, чтобы получить этот sql запрос