Ответ 1
An Included предназначен для сохранения исходных структур объектов и графиков. Объединение необходимо для проектирования сплющенного представления графа объектов или для объединения типов, которые не связаны естественным образом через график (т.е. Присоединяются к городу клиента с городом доставки).
Сравните следующее:
db.Customers.Include("Orders")
Создает граф объектов следующим образом:
Customer
Order
Order
Order
В отличие от этого, если вы делаете то же самое с объединением, проецирующимся в анонимный тип, вы можете получить следующее:
from c in db.Customers
join o in db.Orders on c.CustomerId equals o.CustomerId
select new {c, o}
// produces new Anonymous<Customer, Order>
Хотя оба варианта могут выдавать один и тот же запрос в базу данных, результирующий тип может быть совсем другим.