Вы можете выбрать проекцию из вашей базы данных, получив родительский элемент и количество дочерних элементов, которые у него есть. Это позволяет избежать обратного отключения к базе данных.
var query = from x in DataContext.Parents
select new {Parent = x, Count = x.Childs.Count() };
Теперь переберите результаты и переходите к следующему.
Если вы просто хотите фильтровать (= предложение where) по количеству дочерних элементов, сделайте это следующим образом:
var query = from x in DataContext.Parents
where c.Childs.Count() > 10
select x;
Linq to SQL попытается преобразовать ваши вызовы в IEnumerable.Count()
в SELECT COUNT(*)
, что должно быть довольно производительным.