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

Dynamics crm dynamics crm 365插件将QueryExpression应用于自定义实体列表,dynamics-crm,microsoft-dynamics,query-expressions,Dynamics Crm,Microsoft Dynamics,Query Expressions,在我的插件中,我有一个实体列表。我想应用在输入参数中传递的查询表达式 QueryExpression query = PluginExecutionContext.InputParameters["Query"]; 添加到实体类型的自定义列表 List<Entity> myList; 列出myList; 列表中的实体与插件上下文中使用的实体匹配相同的属性。有没有办法将QueryExpression应用于实体列表,或者将QueryExpression转换为linq?QueryEx

在我的插件中,我有一个实体列表。我想应用在输入参数中传递的查询表达式

QueryExpression query = PluginExecutionContext.InputParameters["Query"];
添加到实体类型的自定义列表

List<Entity> myList;
列出myList;

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

QueryExpression实际上只是FetchXML的包装,FetchXML只是Dynamics CRM中查询的XML模式。如果您想将查询作为参数传递给插件,您可以设置一个自定义实体调用“query”或类似的内容,并向该自定义实体添加一个名为“fetchxml”的textarea类型的字段。然后设置插件的输入参数以接受该自定义实体的记录,而不是文本参数。这样做的另一个好处是,您可以更轻松地编辑插件的输入参数

当然,您总是可以将原始的fetchXML作为文本放入参数中,但根据经验,我可以告诉您,这会反过来影响您,因为维护起来非常困难,因为系统中其他地方的任何更改都可能完全破坏您的插件

如果您想了解更多关于如何获取某个查询的fetchXML的信息,或者有任何其他问题,请给我留言

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

答案是否定的

QueryExpression&FetchXML是Dynamics CRM的原生版本,它只能用于CRM服务(数据库)。我假设这个插件在Retrieve message上,并且您正试图对您自己的实体数据集(
List
)使用来自该Retrieve服务调用的系统查询表达式。但是为什么呢

,或将QueryExpression转换为linq


不。我知道这是可能的。

我正在尝试将CRM本地数据集与外部数据集相结合。这些视图在CRM中是只读的。