Примерно так:
from p in entities.Parent
select new PresentationParent {
ID = p.ID,
Name = p.Name,
Age = p.Age,
Children = (from c in entities.Child
where c.Parent == p
select new PresentationChild {
ID = c.ID,
Name = c.Name,
Age = c.Age
}).ToList()
}
Однако ваши сущности должны быть предварительно настроены с необходимыми связями внешних ключей, чтобы вы могли сделать что-то вроде этого:
from p in entities.Parent
select new PresentationParent {
ID = p.ID,
Name = p.Name,
Age = p.Age,
Children = p.Children.ToList()
}
Конечно, это вернуло бы все свойства каждого дочернего элемента, так что вы можете все равно спроецировать дочерние элементы:
from p in entities.Parent
select new PresentationParent {
ID = p.ID,
Name = p.Name,
Age = p.Age,
Children = (from c in p.Children
select new PresentationChild {
ID = c.ID,
Name = c.Name,
Age = c.Age
}).ToList()
}