LINQ Query - como classificar e filtrar a busca ansiosa

Como faço uma consulta ansiosa de um relacionamento pai-filho que:

filtra um em campos filhosobre pai e filhoretornar uma lista ou pais com os filhos preenchidos previamente

Se eu tentar

from p in _context.Parents.Include("children")
join c in _context.childrenon p.Id equals c.ParentId 
where d.DeletedDate == null
orderby p.Name ascending, c.Name 
select p

Então, recebo o objeto Parent de volta, mas cada Parent tem NULL para filhos

se eu tentar

from p in _context.Parents.Include("children")
orderby p.Name ascending
select p

A consulta retorna todos os pais e filhos, mas eles não são filtrados ou classificado

O resultado que eu quero de volta é umIEnumerable<Parent> i.e.

Parent[0].name = "foo"
Parent[0].children = IEnumerable<Child>
Parent[1].name = "bar"
Parent[1].children = IEnumerable<Child>

questionAnswers(3)

yourAnswerToTheQuestion