我需要设置自定义实体的State和StatusCode

我需要使用.Net CRM SDK设置自定义实体的StateStatusCode
执行以下代码但在检查实体表单时不更改StatusCode。

private void SetState(Entity entity, int statuscode) { SetStateRequest setState = new SetStateRequest { EntityMoniker = new EntityReference( entity.LogicalName, new Guid(entity.Id.ToString())), State = new OptionSetValue(0), Status = new OptionSetValue(statuscode) }; SetStateResponse myres = (SetStateResponse)svc.Execute(setState); } 

您可以尝试以下代码,我使用此代码来设置状态。

 Microsoft.Xrm.Sdk.EntityReference moniker = new EntityReference(); moniker.LogicalName = "contract"; moniker.Id = newContractId; Microsoft.Xrm.Sdk.OrganizationRequest request = new Microsoft.Xrm.Sdk.OrganizationRequest() { RequestName = "SetState" }; request["EntityMoniker"] = moniker; OptionSetValue state = new OptionSetValue(1); OptionSetValue status = new OptionSetValue(2); request["State"] = state; request["Status"] = status; _service.Execute(request); 

或者您可以设置如下状态:

 int statusCode = 123456; entity["statuscode"] = new OptionSetValue(statusCode); _service.Update(entity);