8

IQueryable क्वेरी पर चयन करने के बाद शामिल नहीं है। क्या इस पर कोई रास्ता है? मेरे क्वेरीयदि मैं एक IQueryable से चुनता हूं तो शामिल है

public IQueryable<Network> GetAllNetworks() 
{ 
    var query = (from n in _db.NetworkSet 
       .Include("NetworkContacts.Contact") 
       .Include("NetworkContacts.Contact.RelationshipSource.Target") 
       .Include("NetworkContacts.Contact.RelationshipSource.Source") 
       select (n));   
    return query;; 
} 

मैं तो संपर्क संग्रह वस्तुओं किसी भी शामिल नहीं हैं निम्नलिखित कोड

  var projectedNetworks = 
      from n in GetAllNetworks() 
      select new NetworkViewModel 
      { 
       Name = n.Name, 
       Contacts = from contact in networkList 
        .SelectMany(nc => nc.NetworkContacts) 
        .Where(nc => nc.Member == true) 
        .Where(nc => nc.NetworkId == n.ID) 
        .Select(c => c.Contact)       
        select contact, 
      }; 

     return projectedNetworks; 

समस्या अब मेरी नवनिर्मित NetworkViewModel में होता है का उपयोग कर मेरी WebUI परत में म्या ViewModel पॉप्युलेट करने के लिए कोशिश है रिलेशनशिप स्रोत के लिए लोड किया गया डेटा। लक्ष्य या रिलेशनशिप स्रोत। स्रोत

हालांकि मूल रिपोजिटरी IQueryable विधि से चलने पर डेटा वहां होता है। हालांकि संबंधित डेटा में नए संपर्क संग्रह में स्थानांतरित नहीं किया जाता है जो तब बनाया गया है जब मैं उपरोक्त नया नेटवर्क व्यूमोडेल {} कोड का उपयोग करता हूं।

क्या यह किसी नए ऑब्जेक्ट में पारित होने पर डेटा को शामिल करने का कोई तरीका है? फिलहाल मैं नल अपवाद

उत्तर

6

Here's an explanation of what's happening, with a workaround प्राप्त कर रहा हूं।

हालांकि, मुझे लगता है कि बेहतर उस लिंक किए गए आलेख में क्या है उससे कामकाज है। आप पहले से ही Network के लिए एक व्यू मॉडल का उपयोग कर रहे हैं। अच्छी बात है! संपर्क (और इसके संबंधित गुणों) के लिए भी ऐसा करें, और उत्सुक लोडिंग के साथ आपकी समस्याएं जादुई रूप से चली जाएंगी। प्रक्षेपण हमेशा काम करता है।

+0

हाय क्रेग - टिप्पणी और लिंक के लिए धन्यवाद। मुझे ContactViewModel का उपयोग कहां करना चाहिए - क्या आप सुझाव दे रहे हैं कि मैं एक प्रक्षेपण के भीतर एक प्रक्षेपण करता हूं? क्या यह संभव है? –

संबंधित मुद्दे

 संबंधित मुद्दे