शामिल करें () विधि वस्तुओं पर सूचियों के लिए काफी अच्छी तरह से काम करती है। लेकिन क्या होगा अगर मुझे दो स्तरों पर जाने की आवश्यकता है? उदाहरण के लिए, नीचे दी गई विधि यहाँ दिखाए गए गुणों के साथ ApplicationServers को लौटाएगी। हालाँकि, ApplicationsWithOverrideGroup एक अन्य कंटेनर है जो अन्य जटिल वस्तुओं को रखता है। क्या मैं उस संपत्ति पर भी शामिल कर सकता हूं? या मैं उस संपत्ति को पूरी तरह से कैसे लोड कर सकता हूं?
जैसा कि यह अब खड़ा है, यह विधि:
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; }
}
Expression must be a member expression
जब मैं यह कोशिश करता हूं तो मुझे एक अपवाद क्यों मिलता है : एक संग्रह और फिर एक स्तर नीचे एक संग्रह शामिल करने के लिएquery.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection))
:।