Code: Select all
var classroomResult2 = context
.Set<Classroom>()
.FirstOrDefault(_ => _.PuzzleGroups.All(gr => !gr.Puzzles.All(p => p.Completed)));
Code: Select all
SELECT
"_".ID,
"_".NAME
FROM CLASSROOM "_"
WHERE NOT EXISTS (
SELECT
1
FROM PUZZLE_GROUP "gr"
WHERE (
"_".ID = "gr".CLASSROOM_ID)
AND
(
SELECT
CASE
WHEN NOT EXISTS (
SELECT
1
FROM PUZZLE "p"
WHERE (
"gr".ID = "p".PUZZLE_GROUP_ID)
AND
(
"p".COMPLETED = 0)
)
THEN 1 ELSE 0
END
FROM DUAL)
)
FETCH FIRST 1 ROWS ONLY
A repository reproducing the issue can be found here: https://github.com/janmeyns/devart-efco ... ll-not-all