如何使用c#更改CRM 2013中的状态/状态

GCL*_*GCL 2 c# crm dynamics-crm-2013

如何使用C#更改CRM 2013中实体的状态和/或状态?

CRM 2011的SetStateRequest和早期的SetStateDynamicEntityRequest都没有得到识别.在线搜索似乎也没有帮助...我错过了命名空间或什么?

提前致谢

命名空间:

using System;  
using System.Collections;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Net;  
using Microsoft.Xrm.Sdk;  
using Microsoft.Xrm.Sdk.Client;  
using Microsoft.Xrm.Sdk.Query;  
using Microsoft.Xrm.Sdk.Discovery;  
using Microsoft.Xrm.Sdk.Messages;  
using System.ServiceModel;  
using System.ServiceModel.Description;  
using System.Web.Services.Protocols;  
Run Code Online (Sandbox Code Playgroud)

功能:

private void changeUserStatus(Guid userId, IOrganizationService service, int state)  
{  
    SetStateRequest setStateRequest = new SetStateRequest  
    {  
        EntityMoniker = new EntityReference("systemuser", userId),  
        State = new OptionSetValue(state),  
        Status = new OptionSetValue(-1),  
    };  
    service.Execute(setStateRequest);  
}  
Run Code Online (Sandbox Code Playgroud)

重要提示:我的SetStateRequest不被visual studio 2012识别,因此与上面的示例不同,它没有突出显示,实际上是红色下划线,并且在悬停时显示"未找到类型或命名空间"消息

编辑:我看到问题得到了投票,我很抱歉,如果我错过了一些东西,但我真的没有更多的信息提供,除了我昨天花了4个小时在线寻找这个(包括stackoverflow)没有任何无济于事.我可能使用了错误的搜索条件或查找错误的地方,但如果是这样的话,任何人都可以至少指出我正确的方向吗?我是所有这些的初学者(stackoverflow和crm2013),我有点坚持这个.再次感谢

Gui*_*ite 7

您没有引用microsoft.crm.sdk.proxy.dll它的命名空间Microsoft.Crm.Sdk.Messages

所以代码将是

using Microsoft.Crm.Sdk.Messages;
Run Code Online (Sandbox Code Playgroud)

另一件事,确保int的值StateStatus实体有效(在你的情况下systemuser)