【问题标题】:How to implement the below SQL query in RetrieveMultiple Plug-in on contact entity in CRM 2013如何在 CRM 2013 中的联系人实体上的 RetrieveMultiple 插件中实现以下 SQL 查询
【发布时间】:2014-03-16 05:27:05
【问题描述】:

我想在contact实体上的RetriveMultiple插件中实现以下SQL查询。

SELECT contactid, restricted, sensitive, fullname
FROM contact
JOIN RelationsTeam ON contactid = RelationsTeamId
WHERE membersystemuserid = 'XXXXX'
UNION
SELECT contactid, restricted, sensitive, fullname
FROM contact
WHERE restricted = 1

关系如下:从contactRelationsTeam 的1-N 和从RelationsTeamSystemUser 实体的N-1。

要求是:当登录用户具有受限访问权限或属于联系人的关系团队时,我需要获取所有标记为受限的联系人。

提前致谢。

【问题讨论】:

    标签: sql dynamics-crm-2011 dynamics-crm-2013


    【解决方案1】:

    我强烈建议你阅读这篇文章,如果你不使用早期绑定,它可能会更复杂一些。

    http://msdn.microsoft.com/en-us/library/gg334415.aspx

    你也不能用 or 加入这两个条件吗?

    SELECT contactid, restricted, sensitive, fullname
    FROM contact
    JOIN RelationsTeam ON contactid = RelationsTeamId
    WHERE membersystemuserid = 'XXXXX' OR restricted = 1
    

    【讨论】:

    • 嗨 Draiden 我想详细说明我上面的问题。 membersystemuserid 不是联系人的属性。
    • 是的对不起,但你可以使用别名,我会给你一个这样的 linq 查询的例子(为了翻译来自 sql 的查询,我建议你使用 linq :))
    【解决方案2】:

    我会建议你像这样实现你的查询:

    var queryRes = from d in xrmService.ContactSet
                   join c in xrmService.RelationsTeamSet 
                   on d.contactid equals c.RelationsTeamId                            
                   where d.membersystemuserid = 'XXXXX' or c.restricted = 1
                                         select new
                                         {
                                            // list of attributes;
                                         }
    

    现在查询不起作用,只是为了让您了解如何在插件中复制该 sql 查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多