Вход на сайт
Любителям SQL (оракле), можно ли перевести этот запрос в LINQ?
545
05.05.23 20:56
Есть большое подозрение, что нет, хотя может как то извратится можно, чтобы не сильно медленно было?
Никогда еще на попадалась подобная конструкция
SELECT * FROM "WorkflowGroups"
START WITH "Guid" IN (
SELECT g."Guid" FROM "TerminalConfigWorkflowGroup" t
INNER JOIN "WorkflowGroups" g ON t."WorkflowGroupGuid" = g.""Guid""
WHERE t."TerminalConfigGuid" = {0})
CONNECT BY PRIOR "Guid"" = "ParentGroupGuid"
Проблема в том, что у постгреса другой синтакс и везде в коде linq.
NEW 05.05.23 23:16
в ответ AlexNek 05.05.23 20:56
NEW 06.05.23 11:33
в ответ Murr 05.05.23 23:16
Спасибо, только ничего не понял
Единственное это, что в принципе было и так понятно (вызывать 'внутренний' запрос в цикле)
var subset = new List<DispositionPossibility>();
foreach (var disp in query.OrderBy(x => x.ParentCode).ToArray())
{
if (!disp.ParentCode.HasValue)
subset.Add(disp);
else
break;
}
NEW 07.05.23 00:48
в ответ AlexNek 06.05.23 11:33
вызывать 'внутренний' запрос в цикле
-----
Так СУБД и не должны содержать средств для работы с деревьями.
То, что в оракле что-то слепили для этого на уровне языка - на то оно и оракле...
ничего не понял
-----
Там где-то в ответах был предложен упрощенный вариант рекурсивной выборки.
Рабочий или нет - не знаю, не проверял.
NEW 07.05.23 18:06
в ответ Murr 07.05.23 16:07
пользуйся процедурой как таблицей
не не, лучше уж твоим путем
https://michaelceber.medium.com/implementing-a-recursive-p...


список