我已經爲crm2011創建了一個自定義檢索實體響應類,以序列化該類。實體響應類來源於OrganizationRequest類。它如下圖所示:如何爲OrganizationRequest派生的自定義類創建metadataId?
public partial class RetrieveEntityRequest : OrganizationRequest
{
public RetrieveEntityRequest()
{
}
private System.Guid metadataIdField;
public System.Guid MetadataId
{
get
{
return this.metadataIdField;
}
set
{
this.metadataIdField = value;
}
}
public EntityFilters EntityFilters { get; set; }
public string LogicalName { get; set; }
public bool RetrieveAsIfPublished { get; set; }
}
現在,當我運行下面
using (OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(OrganizationUri, HomeRealmUri, Credentials, null))
{
try
{
serviceProxy.EnableProxyTypes();
request = new CrmUtilities.RetrieveEntityRequest();
request.LogicalName=entityName;
request.EntityFilters = EntityFilters.Entity;
request.RequestName = requestName;
//Execute Request
retrieveEntityResponse = (CrmUtilities.RetrieveEntityResponse)serviceProxy.Execute(request);
}
catch (System.Web.Services.Protocols.SoapException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
}
它說,MetadataId這是一個必填字段是拋出missing.The例外是OrganizationServiceFault所示的代碼被捕獲//必填字段'MetadataId'丟失。 在這種情況下,我如何爲這個自定義對象創建一個metadataId?
我不認爲這是可能的,因爲CRM服務器不知道你的RetrieveEntityRequest類是什麼。你有沒有看到一個這樣的例子,或者這只是你最好的想法? – Daryl