【问题标题】:Dynamics CRM Odata Query one entity and a related entity-- but also a relation between the 2nd entity and a 3rdDynamics CRM Odata 查询一个实体和一个相关实体——但也是第二个实体和第三个实体之间的关系
【发布时间】:2015-09-22 15:10:01
【问题描述】:

所以我有 3 个自定义实体... 患者、患者诊断与诊断

患者可以通过 PatientID 的 GUID 将多个 PatientDiagnosis 链接到该患者。

PatientDiagnosis 记录与诊断实体相关 我正在使用 JavaScript 查询 Dynamics CRM 2011 的 Web 服务。

我想获取一些患者信息和患者诊断列表,但我还希望在诊断表中存储一两个字段。

我可以轻松查询 Patient 和 PatientDiagnosis 实体... 但我不知道如何在同一个查询中将 N:1 关系从 PatientDiagnosis 与 Diagnosis 联系起来。

http://........../2011/OrganizationData.svc/new_participantSet(guid'{blah blah blah}')?
$select=new_new_participant_new_participantdiagnosis/new_PrimaryDiagnosis
,new_new_participant_new_participantdiagnosis/new_Active
,new_ReferralSource
,new_Location
,<<<<new_diagnosis/ID>>>>    //I'd like to include Diagnosis entity data too//
&$expand=new_new_participant_new_participantdiagnosis

【问题讨论】:

    标签: dynamics-crm-2011 odata


    【解决方案1】:

    您可以通过 2 种方式做到这一点。

    1) 您可以使用扩展参数(又名 $select=[stuff]&$expand=[stuff]) - 看起来您在这方面走在了正确的轨道上,或者

    2) 您可以在第一个查询的成功回调中嵌套第二个查询

    我更喜欢使用 CRMRestKit 来简化我的 OData 调用,所以 1 看起来像这样:

    var filter = 'new_participantid eq guid\'' + id + '\'';
    var DiagnosisField, PatientDiagnosisField;
    CRMRestKit.ByExpandQuery('PatientDiagnosis',['new_ReferralSource','x/new_Active'], x, filter) <-- x is the exact relationship name
    .done(function(data){
        DiagnosisField = data.d.results[0].x.results[0].new_Active;
        PatientDiagnosisField = data.d.results[0].new_ReferralSource;
    )
    

    和 2 看起来像这样:

    var DiagnosisField, PatientDiagnosisField;
    CRMRestKit.Retrieve('PatientDiagnosis',GUID,[PColumns]).done(function(data){ <--Patient Diagnosis Columns here
        CRMRestKit.Retrieve(['Diagnosis',data.d.DiagnosisLookup.Id,[DColumns]]).done(function(data2){ <-- Diagnosis columns here
            PatientDiagnosisField = data.d.[field from patient diagnosis];
            DiagnosisField = data2.d.[field from diagnosis];
        });
    )};
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 2013-11-27
      • 2013-05-10
      • 2011-05-04
      相关资源
      最近更新 更多