Dynamics CRM EntityCollection 根据实体中的某个字段为依据去除重复数据
2014-09-11 09:40
435 查看
CRM中通过QueryExpression查询出了一个EntityCollection集,但有时会存在重复数据,QueryExpression中有个属性distinct,只要设置为true就能过滤重复数据,但这个属性针对的数据重复是所有的列都相同。但现在讨论的重复数据不是多条数据的所有列都一样,而是当某个字段或者多个字段的数据重复时我们就认为这是一条重复数据,那怎么样才能去掉这种情况下的重复呢?
通过上述代码将实体集按照“new_name”进行分组,而后再取每一组的第一行数据,这样就做到了distinct。当然这边只是分享这么个思路,我的例子有一定的背景局限性(我的查询数据中只要是new_name相同,其他的自定义属性字段值也是相同的,所以我取new_name的重复性即可),实际过程中你可以按照这个思路去发散。
EntityCollection.Entities.GroupBy(item => item.GetAttributeValue<string>("new_name")).Select(item => item.First());
通过上述代码将实体集按照“new_name”进行分组,而后再取每一组的第一行数据,这样就做到了distinct。当然这边只是分享这么个思路,我的例子有一定的背景局限性(我的查询数据中只要是new_name相同,其他的自定义属性字段值也是相同的,所以我取new_name的重复性即可),实际过程中你可以按照这个思路去发散。
相关文章推荐
- Dynamics CRM EntityCollection 根据实体中的某个字段为依据去除重复数据
- Dynamics CRM EntityCollection 根据实体中的某个字段为依据去除重复数据
- Dynamics CRM EntityCollection 根据实体中的某个字段为依据去除重复数据
- EF LINQ根据某个字段去除重复行
- Linq把一个DataTable根据一列去除重复数据
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- php 根据某个字段查询 返回重复数据一条
- sql根据其中一个字段去重复数据
- java根据list中对象的属性找出list重复数据或去除list重复数据
- MySQL根据某一个或者多个字段查找重复数据,并且保留某字段值最大的记录
- mysql删除重复的数据,保留一条,根据多个字段判断。以及统计重复数据
- SQL语句根据表中的几个字段删除重复数据
- Oracle去除重复(某一列的值重复),取最新(日期字段最新)的一条数据
- 根据一列去除查询中的重复数据
- List之根据某个字段在add的时候过滤掉重复的数据
- SQL 去除表中字段重复的数据,取唯一值
- mysql根据一个字段查询重复数据
- MySQL根据某一个或者多个字段查找重复数据
- JPA注解:根据实体生成数据表和字段的注释(正向工程)
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher