在我们的CRM环境中,我们在自定义参数的设置中有自定义实体类型,其中实体包含名称,类型和值。我需要使用asp和C#在Web应用程序中获取其中一个“参数”来进行一些数学运算。我如何使用实体的ID在我的aspx.cs文件中检索该实体的值和类型字段,以便我可以创建一个与自定义参数实体对应的c#变量。
答案 0 :(得分:0)
第一种方式
您可以连接到CRM Web Service,这是一个.asmx并从那里检索您的实体。只需将其添加为web reference即可。根据我的经验,将其添加为服务引用很麻烦,但添加为Web引用不是(因为“添加服务引用”的内容适用于WCF并且“添加Web引用”已经来自.asmx的开始。)
顺便说一句,如果您习惯使用CRM SDK编写插件和自定义工作流程活动,您可能会注意到:
如果您对CRM中的实体进行更改(例如,添加字段,创建新实体等)以便您的应用程序同步,则更新/刷新Web引用也是一种很好的做法。如果您只使用一组狭窄的实体(在这种情况下听起来像它)并且它们没有改变,这不是必要的,但仍然是一种很好的做法。
第二种方式
您可以直接从_MSCRM数据库中获取它。
如果您想转到原始表,您的实体将有两个表:Base和ExtensionBase。您想要的数据(如果它是您为实体定义的属性)将位于ExtensionBase表中。如果你想使用它,还会有一个加入Base和ExtensionBase表的视图。
您还可以查询已过滤的视图,但是如果您这样做,则需要确保运行ASP.NET应用程序的帐户(因此,当部署到IIS时,这将是应用程序池标识)可以访问CRM作为针对过滤后的视图运行针对主叫用户的CRM安全检查。
另请注意,直接访问数据库表或视图在技术上不受支持。反对过滤后的视图应该没问题。
我建议采用第一种方式,但我已经看到过去两种方法都已完成,两种方法都应该有效。