शामिल करें() विधि ऑब्जेक्ट्स पर सूचियों के लिए काफी अच्छी तरह से काम करती है। लेकिन अगर मुझे दो स्तरों को गहराई से जाना है तो क्या होगा? उदाहरण के लिए, नीचे दी गई विधि एप्लिकेशनसेवर को यहां दिखाए गए शामिल गुणों के साथ वापस कर देगी। हालांकि, एप्लीकेशनविथऑवरराइड समूह एक और कंटेनर है जो अन्य जटिल वस्तुओं को रखता है। क्या मैं उस संपत्ति पर एक शामिल() भी कर सकता हूं? या मैं उस संपत्ति को पूरी तरह लोड करने के लिए कैसे प्राप्त कर सकता हूं?इकाई फ्रेमवर्क - गुणों के एकाधिक स्तर शामिल करें
यह अब खड़ा के रूप में, इस विधि:
public IEnumerable<ApplicationServer> GetAll()
{
return this.Database.ApplicationServers
.Include(x => x.ApplicationsWithOverrideGroup)
.Include(x => x.ApplicationWithGroupToForceInstallList)
.Include(x => x.CustomVariableGroups)
.ToList();
}
केवल सक्षम संपत्ति (नीचे) बस जाएँगे और न आवेदन या CustomVariableGroup गुण (नीचे)। मैं यह कैसे करूं?
public class ApplicationWithOverrideVariableGroup : EntityBase
{
public bool Enabled { get; set; }
public Application Application { get; set; }
public CustomVariableGroup CustomVariableGroup { get; set; }
}
नमस्ते, मुझे अपवाद क्यों मिलता है 'अभिव्यक्ति एक सदस्य अभिव्यक्ति होना चाहिए' जब मैं इसे आज़माता हूं: संग्रह को शामिल करने के लिए और फिर संग्रह को एक स्तर नीचे: 'query.Include (e => e.Level1Collection.Select (l1 => l1.Level2Collection)) '। –
@ बॉबहोर्न, मेरे पास एक ही समस्या है .. मेरे मामले में, घोंसले कई परतों को गहरा कर देता है, मैं आपको शामिल करने में कामयाब रहा हूं। जेनरेट होने वाले एसक्यूएल में, मैं देख सकता था कि सभी कॉलम अलग-अलग उपनाम नामों के साथ सी 1, सी 2 जैसे कुछ लौट रहे हैं। मेरा सवाल यह है कि, मैं अपने सभी में से एक नेस्टेड डीटीओ संग्रह कैसे बना सकता हूं :(.. हो सकता है कि आप ऊपर दिए गए उदाहरण को स्वयं ले सकें, जिसमें हम बिना किसी कस्टम डीटीओ के सभी कॉलम लौट रहे हैं (जो स्वयं डीटीओ का संग्रह है) – TechQuery