Entity Framework и Linq to Entities и .Include () несколько таблиц, или, может быть,

entity-framework include linq-to-entities

Вопрос

у меня есть база данных с таблицей с именем PropertyValues, где я храню каждое значение, которое мне нужно, чтобы описать некоторые свойства строк таблицы базы данных.

Например, таблица Products, которая выглядит так:

Я БЫ
OrderID // Таблица продуктов связана с таблицей заказов
Наименование товара
ProductType_ID // Идентификатор таблицы PropertyValues, которая описывает тип продукта (продукты питания, духи, химикаты)
ProductCountry_ID // Идентификатор таблицы PropertyValues, которая ссылается на страну, из которой поступил продукт, из ProductStatusID // также идентификатор таблицы PropertyValues, которая содержит статус продукта (доступно, недоступно)

с такой моделью базы данных, чтобы получить заказ и все его продукты с их типом, страной и статусом, мне нужно написать что-то вроде этого:

var orders = from o in dbEntities.Order.Include("Products.ProductType")
                                       .Include("Products.ProductCountry")
                                       .Include("Products.ProductStatus")
            select o;

и вопрос в том :)
это может быть сделано автоматически (поэтому все связанные объекты будут включены)
или может есть лучший подход?

Благодарю вас !

Принятый ответ

Я думаю, что вы ищете либо «Lazy Loading», либо «Eager Loading», как указал Алекс Джеймс.

В этом блоге объясняется, что «Ленивая загрузка» должна быть реализована в версии 4.0 Entity Framework.

http://blogs.msdn.com/adonet/archive/2009/05/12/sneak-preview-deferred-loading-in-entity-framework-4-0.aspx

Это может быть сделано автоматически, Google "Entity Framework ленивая загрузка", чтобы приступить к настройке.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow