在CRM动态SDK.Query.QueryExpression中使用select count
本文关键字:select count QueryExpression CRM 动态 SDK Query | 更新日期: 2023-09-27 18:11:12
使用c#,我需要使用Microsoft Dynamics 2015的SDK.Query.QueryExpression库构建查询。我不知道如何排序和计算出现的次数。
我想知道每个产品在所有机会中使用了多少次。
sql查询本身非常简单:
SELECT b.Name, count(a.ProductId) as 'accurances'
FROM [ProkonCRM_MSCRM].[dbo].[OpportunityProductBase] a,
[ProkonCRM_MSCRM].[dbo].[ProductBase] b
where a.ProductId = b.ProductId
group by b.name
据我所知,QueryExpressions不支持聚合函数。您可能需要查看FetchXML,因为那里支持聚合函数。这里有一些使用FetchXML实现你想要的示例:https://msdn.microsoft.com/en-us/library/gg309565.aspx数
FetchXML中的示例(未测试,您的实体名称可能不同,我假设它是N:N关系)
<fetch distinct='false' mapping='logical' aggregate='true'>
<entity name='product'>
<attribute name='name' alias='productName' groupby='true'/>
<link-entity name='opportunityproduct' from='opportunityid' to='opportunityid'>
<attribute name='productid' alias='occurences' aggregate='count' />
</link-entity>
</entity>
</fetch>
我假设您有CRM 2015的内部部署实现。基于这个假设,你可以选择直接查询你的CRM数据库,并使用c#执行SQL查询(例如使用Microsoft.Data.SQL库)。
查询FilteredViews非常重要,因为这是直接查询CRM数据库的推荐方法。
FilteredViews Reference: https://technet.microsoft.com/en-us/library/dn531182.aspx