Как преобразовать Entity Framework в команду SQL? - PullRequest
0 голосов
/ 22 сентября 2019

Я хочу преобразовать этот код EF в команду SQL:

var parents = db.Fuels.Select(A => A.Parent).Distinct();
var data = db.Fuels.Where(B => !parents.Any(A => A == B.ID))
                   .OrderBy(A => A.Type);

Я пытался написать команду SQL, но она не работает:

select *
from Fuel as a
where id not in (select id from Fuel as b
                 where a.ID = b.Parent)

Структура таблицы:

ID      INT PK,
Name    NVARCHAR(50) Checked,
Parent  INT FK

Таблица данных

Table Data

Я хочу этот вывод

i want like output

1 Ответ

1 голос
/ 22 сентября 2019

Это запрос, который вы ищете:

;with parents as (select distinct parent as ID from @Fuel)
select * from @Fuel where id not in (select Id from @Fuel where Id in(select Id from 
parents))

SQL-скрипта: https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=dc39433e40541b814936f3dfea725c6b

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...