dynamics crm 365插件将QueryExpression应用于自定义实体列表

时间:2018-03-23 00:53:27

标签: dynamics-crm microsoft-dynamics query-expressions

在我的插件中,我有一个实体列表。我想应用在输入参数

中传递的查询表达式
QueryExpression query = PluginExecutionContext.InputParameters["Query"];

到类型实体的自定义列表。

List<Entity> myList;

列表中的实体与插件上下文中使用的实体匹配相同的属性。有没有办法将QueryExpression应用于实体列表,或将QueryExpression转换为linq?

2 个答案:

答案 0 :(得分:1)

QueryExpression实际上只是FetchXML的包装器,它只是Dynamics CRM中查询的XML架构。如果要将查询作为参数传递给插件,可以设置自定义实体调用&#34; query&#34;或类似的东西,并将一个textarea类型的字段添加到名为&#34; fetchxml&#34;的自定义实体中。然后设置插件的输入参数以接受该自定义实体的记录而不是文本参数。这样做的另一个好处是可以让您更轻松地编辑插件的输入参数。

当然,您可以随时将原始fetchXML作为文本放入参数中,但我可以从经验中告诉您,由于维护极其困难,因此系统中的其他任何更改都可能会让您感到困难。完全废弃你的插件。

如果您想了解更多关于如何获取特定查询的fetchXML或有任何其他问题,请给我发表评论。

答案 1 :(得分:0)

  

有没有办法将QueryExpression应用于实体列表

答案是否。

QueryExpression&amp; FetchXML是Dynamics CRM的原生,它只能用于CRM服务(数据库)。我假设这个插件是在Retrieve消息上,你试图使用该Retrieve服务调用的系统查询表达式对你自己的实体数据集(List<Entity>)。但为什么呢?

  

,或将QueryExpression转换为linq?

没有。我知道reverse是可能的。