在MSCRM 4中使用C#从自定义实体检索字段值
在我们的CRM环境中,在自定义参数的设置中有一个自定义实体类型,其中实体包含名称、类型和值。我需要在使用asp和C#的web应用程序中获取这些“参数”中的一个来做一些计算。如何在aspx.cs文件中使用该实体的ID检索该实体的值和类型字段,以便生成与自定义参数实体相对应的c变量。第一种方式 您可以连接到,这是一个.asmx,并从中检索您的实体。只需将其添加为一个。根据我的经验,将其添加为服务引用很麻烦,但添加为web引用却不是(因为“添加服务引用”是针对WCF的,而“添加web引用”从.asmx开始就存在) 另外,如果您习惯于通过编写插件和自定义工作流活动来使用CRM SDK,您可能会注意到:在MSCRM 4中使用C#从自定义实体检索字段值,c#,field,return-value,dynamics-crm-4,C#,Field,Return Value,Dynamics Crm 4,在我们的CRM环境中,在自定义参数的设置中有一个自定义实体类型,其中实体包含名称、类型和值。我需要在使用asp和C#的web应用程序中获取这些“参数”中的一个来做一些计算。如何在aspx.cs文件中使用该实体的ID检索该实体的值和类型字段,以便生成与自定义参数实体相对应的c变量。第一种方式 您可以连接到,这是一个.asmx,并从中检索您的实体。只需将其添加为一个。根据我的经验,将其添加为服务引用很麻烦,但添加为web引用却不是(因为“添加服务引用”是针对WCF的,而“添加web引用”从.asmx
- 在幕后,crmsdk程序集实际上正在调用crmweb服务……它们只是用一种很好的方式来包装它,以方便插件的开发等等
- 添加web服务后,您将有一大堆方法可供选择,并且您的实体现在是ASP.NET应用程序中的类。因为VS将导入服务的WSDL,它将把您的自定义实体识别为一等公民,并生成相应的类(即,您不需要处理太多的动态性,这与插件和自定义工作流程序集开发不同)
我建议采用第一种方法,但我在过去看到过两种方法,它们都可以使用。我连接到web服务,以前的工作是由另一个程序员完成的,但是他通过一些疯狂的sql查询直接与数据库交互,而不是处理id。我已经更新了web服务,但我只是不熟悉如何使用web引用检索自定义实体的字段。我想找一个例子来检索特定实体的字段值(在本例中为服务合同平均费率),这是我创建的自定义参数实体。我的老板不希望我直接处理数据库,因为微软显然不赞成这是一种不好的做法。我知道我可以做crm。然后我开始键入retrieve,intellisense显示了这么多方法,这太荒谬了。很抱歉,响应延迟了-您可以使用获取实体的方法检索单个字段,并限制结果中返回的内容。除此之外,您还需要根据实体的ID检索整个实体(如果您有),然后从返回的DynamicEntity中选择所需的字段。如果您想使用FetchXML,尽管这些工具现在已经很旧了,而且我认为Stunware不再作为一个完整的业务运营,但通过FetchXML向导可能会有所帮助,这是免费社区版的一部分: