Ini mungkin pertanyaan yang sangat sederhana tapi apa cara yang bagus untuk memasukkan banyak entitas anak saat menulis kueri yang mencakup TIGA level (atau lebih)?
yaitu saya memiliki 4 tabel: Company
, Employee
, Employee_Car
danEmployee_Country
Perusahaan memiliki hubungan 1: m dengan Karyawan.
Karyawan memiliki hubungan 1: m dengan Employee_Car dan Employee_Country.
Jika saya ingin menulis kueri yang mengembalikan data dari semua 4 tabel, saat ini saya menulis:
Company company = context.Companies
.Include("Employee.Employee_Car")
.Include("Employee.Employee_Country")
.FirstOrDefault(c => c.Id == companyID);
Pasti ada cara yang lebih elegan! Ini bertele-tele dan menghasilkan SQL menghebohkan
Saya menggunakan EF4 dengan VS 2010
//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