Dynamics crm 2011 如何获取';独特的';在查找视图中保留行ID的数据?

Dynamics crm 2011 如何获取';独特的';在查找视图中保留行ID的数据?,dynamics-crm-2011,dynamics-crm,fetchxml,Dynamics Crm 2011,Dynamics Crm,Fetchxml,假设我有一个具有以下结构的实体: ID (it would be the GUID of the record, I'll use number in this example for easier read) Name Product (lookup to product) Price List (custom lookup to standard price list) 我现在需要以这种方式构建查找视图: (Sample data) ID Name Product P

假设我有一个具有以下结构的实体:

ID (it would be the GUID of the record, I'll use number in this example for easier read)
Name
Product (lookup to product)
Price List (custom lookup to standard price list) 
我现在需要以这种方式构建查找视图:

(Sample data) ID Name Product PriceList ----------------------------------- 1 Rec1 P1 PL1 2 Rec1 P1 PL2 3 Rec1 P1 PL3 4 Rec2 P2 PL1 5 Rec2 P2 PL2 (Desired result in lookup view) ID Name ----------------------------------- 1 Rec1 4 Rec2
但是我不知道如何在FetchXML查询中实现相同的结果集。

这里我可以看到两种方法,它们都不是纯FetchXML查询

  • 使用
    distinct
    ,(我不是100%这样做,但值得一试)。这将有望为每个名称获得一条记录,您只需在代码中获取每个名称的第一条记录
  • 使用Linq执行过滤客户端

  • 我能想到的唯一方法是:

  • 在表单的JS中,确定唯一的名称(示例中的Rec1和Rec2),并存储引用Rec1和Rec2的两个记录的ID(让我们称这些ID为Id1和Id2)
  • 生成只返回这两条记录的获取查询。您的fetch查询会明确地告诉我id为Id1或Id2的记录
  • 使用addCustomFilter和addPreSearch()筛选查找

  • distinct
    很遗憾没有效果,因为查询必须包含实体ID(否则查找将无法正常工作)。关于LINQ部分,我将研究某种类型的检索插件…我在另一个项目中使用了它,因此值得称赞,不幸的是,在这种特殊情况下,我需要构建一个保存的查询,因此如果可以,它必须是一个没有脚本的单一fetchxml查询。。。
    ;WITH cte AS
    (
        SELECT ROW_NUMBER() 
        OVER (PARTITION BY Name ORDER BY Name ASC) AS RowNo, ID, Name
        FROM FilteredEntity
    )
    SELECT ID, Name FROM cte WHERE RowNo = 1