मैं गुण के रूप में दो वस्तुओं (User
, PrimaryNode
) के साथ एक वस्तु है, दोनों संभावित अशक्त हो सकता है, नीचे देखें Item
ऑब्जेक्ट और जंजीर का उपयोग करने में PrimaryNode
और User
ऑब्जेक्ट्स इसके भीतर ऑब्जेक्ट्स को पॉप्युलेट करना शामिल है।इकाई की रूपरेखा ObjectQuery.Include()
जब पहली श्रृंखलित शामिल एक अशक्त वस्तु तो बातिल के रूप में पूरी वस्तु रिटर्न, उदाहरण के लिए:
using (var db = new MyContext())
{
var item = db.Items.Include(i => i.User).Include(n => n.PrimaryNode).FirstOrDefault(i => i.ItemId == id);
}
ऊपर के उदाहरण में i.User
रिक्त है तो item
चर अशक्त है। सब-ऑब्जेक्ट्स दोनों को इस तरह से पॉप्युलेट करने का सबसे अच्छा तरीका क्या है कि यदि उप-ऑब्जेक्ट शून्य है तो मूल ऑब्जेक्ट और अन्य उप-ऑब्जेक्ट अभी भी पॉप्युलेट हो जाएगा?
'प्राथमिक नोड' और 'उपयोगकर्ता' वर्चुअल बनाएं और उन्हें 'आइटम'' के रूप में वैकल्पिक रूप से मानचित्र बनाएं? –
मैं @octavioccl द्वारा दिए गए बयान से सहमत हूं - आपकी क्वेरी में कुछ भी गलत नहीं है। मेरे परीक्षण में, वह क्वेरी नोड ऑब्जेक्ट को पॉप्युलेट करेगी, भले ही आइटम से कोई उपयोगकर्ता ऑब्जेक्ट न हो। –
अब मैं पुष्टि कर सकता हूं कि उपर्युक्त दृष्टिकोण में कुछ भी गलत नहीं है, मैंने सरल बना दिया था जो कि एक जटिल वर्ग था। मेरे मामले में मुद्दा यह था कि साथ ही उपयोगकर्ता ऑब्जेक्ट होने के कारण, मेरे पास UserId प्रॉपर्टी भी थी (जैसा कि मैंने कुछ सर्कल में अनुशंसित देखा है - ताकि आप उपयोगकर्ता ऑब्जेक्ट को लोड किए बिना आईडी प्राप्त कर सकें) - यह वास्तव में था यह संपत्ति जो समस्याएं पैदा कर रही थी, जिस तरह से इसे सेट अप किया गया था, इसके परिणामस्वरूप क्वेरी उपयोगकर्ता फ़ाइल में आंतरिक शामिल हो गई। जवाब के लिए मेरी माफ़ी और धन्यवाद। –