Bu gerçekten elementli bir soru olabilir, ancak ÜÇ seviyeye (veya daha fazlasına) yayılan bir sorgu yazarken birden fazla çocuk varlığı eklemenin güzel bir yolu nedir?
yani ben 4 tablolar: Company
, Employee
, Employee_Car
veEmployee_Country
Şirketin Çalışan ile 1: m ilişkisi vardır.
Çalışanın hem Employee_Car hem de Employee_Country ile 1: m ilişkisi vardır.
Tüm 4 tablodan veri döndüren bir sorgu yazmak istiyorsanız, şu anda yazıyorum:
Company company = context.Companies
.Include("Employee.Employee_Car")
.Include("Employee.Employee_Country")
.FirstOrDefault(c => c.Id == companyID);
Daha zarif bir yol olmalı! Bu uzun soluklu ve korkunç SQL üretir
VS 2010 ile EF4 kullanıyorum
//inside public static class Extensions public static IQueryable<Company> CompleteCompanies(this DbSet<Company> table){ return table .Include("Employee.Employee_Car") .Include("Employee.Employee_Country") ; } //code will be... Company company = context.Companies.CompleteCompanies().FirstOrDefault(c => c.Id == companyID); //same for next advanced method