Javascript MS Dynamics CRM-Odata查询和使用$expand

Javascript MS Dynamics CRM-Odata查询和使用$expand,javascript,html,odata,crm,microsoft-dynamics,Javascript,Html,Odata,Crm,Microsoft Dynamics,我会尽量说清楚的 我有三个实体——1。“事件”2。“事件类别”和3。“问题” 每个“事件”记录都有一个“事件类别”字段。“事件类别”与“问题”实体的关系为1:N。每个问题记录都有一个“事件类别”字段。在加载事件表单时,我有一个JS web资源,用于获取该特定事件的“事件类别”的GUID 使用html web资源,我想返回与我当前所在的“事件”页面具有相同“事件类别”的所有问题。我无法确定如何构建正确的odata查询字符串 我相信我已经很接近了,但最后一步我却没有走。请参阅下面我构建URL的代码(

我会尽量说清楚的

我有三个实体——1。“事件”2。“事件类别”和3。“问题”

每个“事件”记录都有一个“事件类别”字段。“事件类别”与“问题”实体的关系为1:N。每个问题记录都有一个“事件类别”字段。在加载事件表单时,我有一个JS web资源,用于获取该特定事件的“事件类别”的GUID

使用html web资源,我想返回与我当前所在的“事件”页面具有相同“事件类别”的所有问题。我无法确定如何构建正确的odata查询字符串

我相信我已经很接近了,但最后一步我却没有走。请参阅下面我构建URL的代码(我没有包括retrieveMultiple的其余部分,只是构建URL):

我相信这将返回与我所参加的活动的事件类别GUID相关的所有问题记录。 如何进一步优化搜索,以便使用html web资源打印问题本身?如果我使用$select返回某些属性,它将返回事件类别集的属性,而不是我希望的问题集的属性。 感谢您的帮助。谢谢

function getEventQuestions () {
var eventCatId = getEventCatId();
retrieveMultiple("new_eventcategorySet(guid'" + eventCatId + "')", "?$expand=new_new_eventcategory_new_questions"**, showQuestions, 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;
}