यहां फ़ेचएक्सएमएल है:

<fetch version='1.0' mapping='logical' distinct='true'>
  <entity name='listmember'>
    <link-entity name='contact' from='contactid' to='entityid' alias='c'>
      <attribute name='contactid' />
      <attribute name='telephone1' />

      <link-entity name='phonecall' from='ic_customer' to='contactid' alias='pc' link-type='outer'>
        <attribute name='activityid' />
        <attribute name='ic_end' />
        <filter type='and'>
          <filter type='or'>
            <condition attribute='statuscode' operator='eq' value='1' />
          </filter>
        </filter>
      </link-entity>

      <filter type='and'>
        <condition attribute='statecode' operator='eq' value='0' />
        <condition attribute='telephone1' operator='not-null' />
        <condition attribute='donotphone' operator='eq' value='0' />
      </filter>
    </link-entity>
    <filter type='and'>
      <condition attribute='listid' operator='in'><value>{ed0fa81c-1b65-e611-80ee-5065f38be311}</value></condition>
      <condition entityname='pc' attribute='activityid' operator='null' />
    </filter>
  </entity>
</fetch>

अब मैं ic_end विशेषता तक पहुंचना चाहता हूं जब मुझे सी # में पुनर्प्राप्ति एकाधिक विधि के माध्यम से ऑब्जेक्ट मिला।

मैंने इसके माध्यम से विशेषता प्राप्त करने का प्रयास किया:

var endDate = (DateTime)((AliasedValue)contact["c.pc.ic_end"]).Value;

मुझे एक त्रुटि मिली कि उस नाम के साथ कोई विशेषता नहीं मिली।

कोई सुझाव?

0
DynamicsNinja 24 अगस्त 2016, 14:40

1 उत्तर

सबसे बढ़िया उत्तर

यहां कुछ चीजें:

सबसे पहले और सबसे महत्वपूर्ण जिस तरह से आप लिंक्ड-इकाई विशेषता को पुनः प्राप्त करते हैं, वह गलत है, विशेषताएँ alias.attributename (इस मामले में pc.ic_end) के प्रारूप में दी जाती हैं।

यह भी हमेशा जांचें कि क्या विशेषता आपके शामिल होने के मानदंड के आधार पर मौजूद है, इसे हमेशा वापस नहीं किया जा सकता है। विशेषता तर्क पुनर्प्राप्त करें की तर्ज पर होना चाहिए:

if (contact.Attributes.Contains("pc.ic_end") && 
    contact.Attributes["pc.ic_end"] != null)
{
    var endDate = (DateTime) ((AliasedValue) contact["pc.ic_end"]).Value;
}

लिंक-इकाई का नाम = 'फ़ोनकॉल' = 'ic_customer' से = 'contactid' उपनाम = 'पीसी' लिंक-प्रकार = 'बाहरी'

मुझे एक त्रुटि मिली कि उस नाम के साथ कोई विशेषता नहीं मिली।

जैसे ही आपके पास बाहरी के रूप में निर्दिष्ट लिंक-प्रकार होता है, सभी संपर्क साथ या बिना फ़ोन कॉल रिकॉर्ड वापस कर दिए जाते हैं। तो यह एक इच्छित व्यवहार है, आपको यह जांचना होगा कि विशेषता विशेषता सूची में विशेषता मौजूद है या नहीं।

यदि आप चाहते हैं कि क्वेरी केवल एक संपर्क रिकॉर्ड लौटाए साथ एक फोन कॉल, एक प्राकृतिक आंतरिक जुड़ाव का उपयोग करें

<link-entity name='phonecall' from='ic_customer' to='contactid' alias='pc'>
2
dynamicallyCRM 24 अगस्त 2016, 18:29