Вот для чего нужны прогнозы (анонимные типы). Вы просто должны сделать:
from p in People
select new { p.Name, p.Age }
При объединении можно по-прежнему использовать анонимные типы. Если вы хотите представить отношение один-ко-многим, вы просто делаете:
var query =
from c in db.Customers
join o in db.Orders on c.CustomerID equals o.CustomerID into g
select new {c.Name, Orders = g };
Однако это приводит к тому, что вы выполняете новый запрос к базе данных при первом обращении к Заказам для клиента.
Если вы просто хотите сгладить структуру, удалить группировку, а затем просто проецировать в новый анонимный тип, , как другие предложили :
var query =
from c in db.Customers
join o in db.Orders on c.CustomerID equals o.CustomerID
select new {c.Name, o.OrderDate};