Javascript dynamics crm使用odata从“中检索guid”;类型:Microsoft.Crm.Sdk.Data.Services.EntityReference“;

Javascript dynamics crm使用odata从“中检索guid”;类型:Microsoft.Crm.Sdk.Data.Services.EntityReference“;,javascript,odata,crm,microsoft-dynamics,Javascript,Odata,Crm,Microsoft Dynamics,我有三个实体——1.“注册”2.“事件”3.“事件类别” 保存注册记录时,我希望使用所选“事件”的guid来检索关联“事件类别”的guid。我认为检索“事件类别”guid时遇到的问题是因为事件类别查找是实体引用。我不确定如何构建odata查询以仅检索事件类别的guid 我构建ODataURL的代码如下: function getAssociatedEventId () { var eventId = getEventId (); retrieveMultiple("new_eventclassS

我有三个实体——1.“注册”2.“事件”3.“事件类别”

保存注册记录时,我希望使用所选“事件”的guid来检索关联“事件类别”的guid。我认为检索“事件类别”guid时遇到的问题是因为事件类别查找是实体引用。我不确定如何构建odata查询以仅检索事件类别的guid

我构建ODataURL的代码如下:

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函数,但数据返回“undefined”。我相信这是因为我使用我构建的URL得到的数据响应返回一个实体引用。我不确定如何构建URL以锁定Id。我已经从开发人员控制台中包含了“响应”选项卡的图片。希望这能有所帮助。非常感谢您的任何意见


返回
实体引用是正常的,也是预期的。只需提取
Id
,例如
EntityReference.Id
,即记录的
Guid

如果OData服务是协议版本V4,正确的查询URL应该是:

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

请注意Guid周围没有单引号。

响应只是序列化的,返回类型与EntityReference类型的关系(1:N)匹配,为什么不解析JSON并读取“Id”值?感谢您的响应。我不确定从哪里提取身份证?我使用jQueryAjax调用来检索数据。我当前的successCallback函数如下(只是尝试验证数据是否已定义):
函数findRegQuestions(data,textStatus,XmlHttpRequest){var totalCount=data[0].new_EventCategoryId.results.length;document.getElementById(“regQuestions”).innerText=totalCount;}
。我想粗体的线条是我弄糟的地方。我使用“new_EventCategoryId”,因为这是我在过滤器中选择的内容。我以前尝试过
EntityReference.Id
。结果无效。