Вы хотите использовать ссылки на метод .Include (string) в этой статье "Формирование результатов запроса" .
var item = from InventoryItem item in
db.Inventory.Include("ItemTypeReference").Include("OrderLineItems")
where item.ID == id
select item;
Вероятно, есть синтаксис в стиле "sql" и для включений.
Также см. Эту статью о переходе с LINQ-to-SQL на LINQ-to-Entities.
Для тех, кто ищет решение этой проблемы для Linq to SQL , вы хотите сделать следующее (замените DataContext и другие типы на все, что у вас есть):
using (DataContext db = new DataContext())
{
DataLoadOptions options = new DataLoadOptions();
options.LoadWith<InventoryItem>(ii => ii.ItemTypeReference);
options.LoadWith<InventoryItem>(ii => ii.OrderLineItems);
db.LoadOptions = options;
var item = from InventoryItem item in db.Inventory
where item.ID == id
select item;
}
Это загрузит свойства, указанные в LoadWith, всякий раз, когда загружается родительский элемент (InventoryItem), для этого конкретного контекста.
В ответ на некоторые дополнительные вопросы от Джеймса и Джеспера, проверьте этот вопрос