簡體   English   中英

動態 crm 使用 odata 從“類型:Microsoft.Crm.Sdk.Data.Services.EntityReference”中檢索 guid

[英]dynamics crm using odata to retrieve a guid from "type: Microsoft.Crm.Sdk.Data.Services.EntityReference"

我有三個實體——1.“注冊”2.“事件”3.“事件類別”

在保存注冊記錄時,我想使用選擇的“事件”的 guid 來檢索關聯的“事件類別”的 guid。 我相信我檢索“事件類別”guid 的麻煩是因為事件類別查找是一個 EntityReference。 我不確定如何構建我的 odata 查詢以僅檢索事件類別的 guid。

我構建 odata URL 的代碼如下:

function getAssociatedEventId () {
var eventId = getEventId ();
retrieveMultiple("new_eventclassSet", "?$select=new_EventCategoryId&$expand=new_new_eventcategory_new_eventclass/new_eventcategoryId&$filter=new_eventclassId eq (guid'" + eventId + "')", findEventQuestions, null, null);
}

function retrieveMultiple(odataSetName, filter, successCallback, errorCallback, _executionObj) {

var serverUrl = Xrm.Page.context.getClientUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";

var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName;
if (filter) {
odataUri += filter;
}

首先,我通過 Web 資源中的 javascript 函數獲取事件 ID,然后我希望使用它來檢索與事件關聯的事件類別的 ID。 當我的代碼運行時,它調用了 successCallback 函數,但數據返回“未定義”。 我相信這是因為我使用我構建的 URL 獲得的數據響應返回了一個實體引用。 我不確定如何構建 URL 來確定 ID。 我已經包含了來自開發人員控制台的“響應”選項卡的圖片。 希望這有幫助。 非常感謝您的任何意見。

來自開發者控制台的數據響應

EntityReference返回是正常的且符合預期。 只需提取Id ,例如EntityReference.Id ,即您的記錄的Guid

如果 OData 服務的協議版本為 V4,則正確的查詢 URL 應為:

$filter=new_eventclassId/Id eq 4c2c1c1e-1838-42ca-b730-399816de85f8

請注意 Guid 周圍沒有單引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM