यह वास्तव में एक प्रारंभिक प्रश्न हो सकता है लेकिन कई बच्चों वाली संस्थाओं को शामिल करने का एक अच्छा तरीका क्या हो सकता है जब यह प्रश्न लिखे कि यह तीन स्तर (या अधिक) है?
यानी मैं 4 टेबल है: Company
, Employee
, Employee_Car
औरEmployee_Country
कंपनी का कर्मचारी के साथ 1: m संबंध है।
कर्मचारी का Employee_Car और Employee_Country दोनों के साथ 1: m संबंध है।
यदि मैं एक क्वेरी लिखना चाहता हूं जो सभी 4 तालिकाओं से डेटा लौटाता है, तो मैं वर्तमान में लिख रहा हूं:
Company company = context.Companies
.Include("Employee.Employee_Car")
.Include("Employee.Employee_Country")
.FirstOrDefault(c => c.Id == companyID);
वहाँ एक और अधिक सुंदर तरीका है! यह लंबी घुमावदार है और भयावह एसक्यूएल उत्पन्न करती है
मैं वीएस 2010 के साथ ईएफ 4 का उपयोग कर रहा हूं
//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