クラスをシリアル化するために、crm2011 のカスタム取得エンティティ応答クラスを作成しました。エンティティ レスポンス クラスは、 OrganizationRequestクラスから派生します。以下に示すとおりです。
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が欠落していると表示されます。スローされる例外はOrganizationServiceFault がキャッチされました //必須フィールド 'MetadataId' が欠落しています。 この場合、このカスタム オブジェクトの metadataId を作成するにはどうすればよいですか?