Entity Framework include Где

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

var forms = repo.GetForms().Where(f => f.SubForms.Any(sf => sf.Classes.Any(c => c.TermId == termId)));

Из этого видно, что моя схема выглядит следующим образом:

Подформа имеет много Класс , у которого много Срок .

Что я хочу:

Все Подформы с их Классами В конкретном Сроке .

Сейчас происходит то, что я получаю всю Подформу , которая имеет какой-либо Класс в конкретном Терме . Это означает, что SubForm возвращается с ALL child Class , а не только с теми, которые связаны с Term .

Например, У меня есть 2 семестра, подформа с 2 классами в каждом семестре. Этот запрос возвращает 4 класса вместо 2 в этом конкретном термине.

Есть ли какой-нибудь Include ('Expression') , который я могу использовать, чтобы сказать, что я хочу включить только все классы на основе условия? Или мой запрос неверен?

6
задан Shawn Mclean 8 December 2011 в 22:45
поделиться