CRM中通过QueryExpression查询出了一个EntityCollection集,但有时会存在重复数据,QueryExpression中有个属性distinct,只要设置为true就能过滤重复数据,但这个属性针对的数据重复是所有的列都相同。但现在讨论的重复数据不是多条数据的所有列都一样,而是当某个字段或者多个字段的数据重复时我们就认为这是一条重复数据,那怎么样才能去掉这种情况下的重复呢?

EntityCollection.Entities.GroupBy(item => item.GetAttributeValue<string>("new_name")).Select(item => item.First());

通过上述代码将实体集按照“new_name”进行分组,而后再取每一组的第一行数据,这样就做到了distinct。当然这边只是分享这么个思路,我的例子有一定的背景局限性(我的查询数据中只要是new_name相同,其他的自定义属性字段值也是相同的,所以我取new_name的重复性即可),实际过程中你可以按照这个思路去发散。



Dynamics CRM EntityCollection 根据实体中的某个字段为依据去除重复数据的更多相关文章

  1. ASP.NET Web API中通过URI显示实体中的部分字段

    有时候我们可能不想显示某个实体中的所有字段.比如客户端发出如下请求: locaohost:43321/api/groups/1/items?fields=idlocaohost:43321/api/g ...

  2. Dynamics CRM 2016/365 窗体中添加按钮

    一.工具下载,及界面介绍 1.下载XrmToolBox工具(XrmToolBox for Microsoft Dynamics CRM/365 CE) 链接:https://www.xrmtoolbo ...

  3. Microsoft Dynamics CRM 2011 新建实体 需要注意的细节

    新建一个实体,需要红色框内的是否勾选的意义,可以进一步加深对CRM的理解.如图: 下面对部分的进行了自我的理解,不对的地方,还请大家指出来.互相学习. 1.CRM2011中,在活动方面加强的新特性包括 ...

  4. CRM User Status profile中Business Transaction字段的用途

    有朋友问到User Status profile中Business Transaction字段的用途,如下图INPR, FINI所示. 实际上,这个字段作为一个桥梁,连接了User Status和Sy ...

  5. 自定义通用Distinct去除重复数据的2中方式

    由于Lambda Distinct方法默认是按照集合里面的值比较的,所以当集合里面存放的是类的时候,我们一般是按照实体中的某一属性值比较,其实是用默认的Distinct也可以的,自己先定义一个实现了接 ...

  6. Java中List集合去除重复数据的方法

    1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list. ...

  7. Java中List集合去除重复数据的四种方法

    1. 循环list中的所有元素然后删除重复   public static List removeDuplicate(List list) { for ( int i = 0 ; i < lis ...

  8. Java中List集合去除重复数据的六种方法

    1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list. ...

  9. Java中List集合去除重复数据的方法1

    1. 循环list中的所有元素然后删除重复 public   static   List  removeDuplicate(List list)  {         for  ( int  i  = ...

随机推荐

  1. centos 7 破解密码

    CentOS 7 root密码的重置方式和CentOS 6完全不一样,CentOS 7与之前的版本6变化还是比较大的,以进入单用户模式修改root密码为例. 1.重启开机按esc   2.按e     ...

  2. swing JTable

    JTable 实例 import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayo ...

  3. Node.js 全局对象介绍

    全局对象 这些对象在所有模块里都可用.有些对象不是在全局作用域而是在模块作用域里,这些情况下面文档都会标注出来. global {Object} 全局命名空间对象. 浏览器里,全局作用域就是顶级域.如 ...

  4. Winform DevExpress控件库(一) DevExpress控件库的安装与新建第一个DevExpress项目

    前言:因为这段时间要接触到DevExpress控件库,而我本身甚至对winform的控件都了解甚少,所以处在学习中,写下博客主要是为了方便后期的回顾,当然也可以给一些新人第一次接触时做为学习的参考,以 ...

  5. 初始化nodejs+webpack+vuejs

    安装nodejs 4.x 参考 curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install ...

  6. sublimetext 自定义build

    Nodejs { "cmd": "node $file", "shell": "true", "selecto ...

  7. md编辑器测试

    markdown 这是一个代码 print

  8. Swift中关于任意类型的数组

    在Objc中你是不可以把一个非对象类型放入数组的,你必须将其"封箱",然后再放入数组. 在Swift中你可将非对象类型轻松放入数组: let ary = [1,2,3] 你可以明确 ...

  9. Chrome 内存和CPU消耗量双料冠军

    今天统计了下某个时刻各进程的内存和CPU使用概况.结果发现,Chrome消耗量真是不一般的大.比Windows主进程都还猛! 另外发现百度安全卫士占用CPU也比较猛. powershell下输入: p ...

  10. Python 3.3.3 使用requests模拟登录网站

    在模拟登录上,requests确实比python标准库中的相关模块更加简洁. 假设你需要去爬一组页面(targetUrls),而这些页面要登录才能进行访问.那么requests能够提供一种相当简单的语 ...