Перевести Sql Query в DBContext запрос с фильтром Subquery - PullRequest
0 голосов
/ 02 марта 2012

У меня есть этот запрос:

SELECT * FROM ScheduleGroups A
INNER JOIN ScheduleGroupResources B ON A.ScheduleGroupId=B.ScheduleGroupId
WHERE B.ScheduleGroupId IN (SELECT ScheduleGroupId 
                            FROM  ScheduleGroupResources 
                            WHERE ScheduleResourceId=2)

Я хочу представить с запросом DbContext.

В настоящее время это:

return actualContext.ScheduleGroups
                    .Include(a => a.ScheduleGroupResources).ToList();

Это приносит мне все результаты.Я просто хочу отфильтровать, как показано в «где».

Большое спасибо за все!

РЕДАКТИРОВАТЬ:

Я нашел решение:

return actualContext.ScheduleGroups
                    .Include(a => a.ScheduleGroupResources)
                    .Where(a => a.ScheduleGroupResources.Any(b => b.ScheduleResourceId == scheduleResourceId)).ToList();

1 Ответ

0 голосов
/ 02 марта 2012

Только к вашему сведению, оригинальный запрос может быть написан:

SELECT * 
FROM ScheduleGroups A
INNER JOIN ScheduleGroupResources B ON A.ScheduleGroupId=B.ScheduleGroupId
WHERE ScheduleResourceId=2
...