Это может быть действительно элементарный вопрос, но какой хороший способ включить несколько дочерних объектов при написании запроса, который охватывает три уровня (или более)?Entity framework linq query Включить() несколько дочерних объектов
т.е. у меня есть 4 таблицы: Company
, Employee
, Employee_Car
и Employee_Country
Компания имеет 1 а: М отношения с работника.
Сотрудник имеет отношения 1: m с Employee_Car и Employee_Country.
Если я хочу написать запрос, который возвращает данные из всех 4 таблиц, я в настоящее время пишу:
Company company = context.Companies
.Include("Employee.Employee_Car")
.Include("Employee.Employee_Country")
.FirstOrDefault(c => c.Id == companyID);
Там должна быть более элегантным способом! Это долго наматывается и создает ужасающую SQL
Я использую EF4 с VS 2010
Это замечательно. –
Но я хотел бы использовать его в этом, как: '// внутри общественных расширений статических классов общественных статического IQueryable CompleteCompanies (это DbSet таблица) { возвращение таблицы .INCLUDE («Employee.Employee_Car») .INCLUDE (» Employee.Employee_Country "); } // код будет ... Компания компании = context.Companies.CompleteCompanies(). FirstOrDefault (c => c.Id == companyID); // тот же для следующего продвинутого метода –
Hamid
Bullsye Nix. Расширения должны быть первым портом вызова для ... ну ... расширения предопределенных функциональных возможностей. – ComeIn