官网Enumerable.Distinct

https://msdn.microsoft.com/zh-cn/library/bb338049.aspx

CSDN中作者oriency755

关于Distinct的使用:

http://blog.csdn.net/oriency755/article/details/13773557

使用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Transactions;namespace Activity
{public class ActivitySceneService{public List<DrawPlay> GetDraw(int activitySceneID){using (var dbContext = new DbContext()){var merchant = dbContext.Find<Merchant>(1);var playList = new List<DrawPlay>();playList = dbContext.Draw001Plays.Where(u => u.ActivitySceneID == activitySceneID).Distinct(new Compare<DrawPlay>((x, y) => (x != null && y != null && x.UserID == y.UserID))).ToList();//放置比较器return playlist;}}}public delegate bool CompareDelegate<T>(T x, T y);public class Compare<T> : IEqualityComparer<T>{private CompareDelegate<T> _compare;public Compare(CompareDelegate<T> d){this._compare = d;}public bool Equals(T x, T y){if (_compare != null){return this._compare(x, y);}else{return false;}}public int GetHashCode(T obj){return obj.ToString().GetHashCode();}}
}

Test

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;namespace NAMESPACE
{public class CLASSNAME{public void Test(){using (var dbContext = new DbContext()){dbContext.DATABASE.Distinct(new Compare<MODELTYPE>((x, y) => (x != null && y != null && x.FIELD> VALUE && y.FIELD> VALUE))).ToList();}}}//使用委托public delegate bool CompareDelegate<T>(T x, T y);public class Compare<T> : IEqualityComparer<T>{private CompareDelegate<T> _compare;public Compare(CompareDelegate<T> d){this._compare = d;}public bool Equals(T x, T y){if (_compare != null){return this._compare(x, y);}else{return false;}}public int GetHashCode(T obj){return obj.ToString().GetHashCode();}}
}

和上一个差不多

Distinct项目内使用using Qxun.Framework.Utilityvar onlineRecords = dbContext.OnLineRecords.ToList().Distinct(new CompareExtend<OnLineRecord>((x, y) => x != null && y != null && x.MerchantID == y.MerchantID && x.ActivitySceneID == y.ActivitySceneID));****************************************CompareExtend类********************************************************using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Qxun.Framework.Utility
{public delegate bool CompareDelegate<T>(T x, T y);public class CompareExtend<T> : IEqualityComparer<T>{private CompareDelegate<T> _compare;public CompareExtend(CompareDelegate<T> d){this._compare = d;}public bool Equals(T x, T y){if (_compare != null){return this._compare(x, y);}else{return false;}}public int GetHashCode(T obj){return obj.ToString().GetHashCode();}}
}

distinct 项目中使用

转载于:https://www.cnblogs.com/danlis/p/5353749.html

C# Distinct使用,支持对象的相等比较相关推荐

  1. 异常:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。

    某一天,在调试程序时突然发现,在附加数据库后,想添加关系表,结果出来了下面的错误: 此数据库没有有效所有者,因此无法安装数据库关系图支持对象.若要继续,请首先使用"数据库属性"对话 ...

  2. 此数据库没有有效所有者,因此无法安装数据库关系图支持对象--解决办法

    摘要:微信搜索[三桥君] 一.问题 当我们想要打开"数据库关系图"时,会出现这个问题. 此数据库没有有效所有者,因此无法安装数据库关系图支持对象.若要继续,请首先使用数据库属性对话 ...

  3. Mobox企业网盘支持对象存储帮助用户推进私有云

    企业网盘支持对象存储帮助用户推行私有云 Mobox 企业网盘存储设备支持:1)本地磁盘:2)Nas网络存储:3)对象存储:这里重点说一下对象存储与传统的有什么差异 传统的存储通常以GB/TB为单位进行 ...

  4. 关于IE内核浏览器使用 document.all.wb.ExecWB(x,x); 报错“找不到对象”,“不支持对象” 或 “对象不支持属性或方法”等问题的解决

    如题, 之前项目中客户都默认使用IE浏览器,所以在文件打印时就使用了document.all.wb.ExecWB(.,.)的打印方法,该方法怎么使用此处不做赘论,网上大佬的相关方法太多了. 在使用时, ...

  5. 千里眼摄像头支持对象存储吗_【手机技术】专业相机应用Halide全面支持苹果iPhone SE 2人像模式...

    新闻转自IT之家,根据外媒9to5Mac的报道,iPhone SE 2的后置摄像头支持人像模式,但有一个限制:只适用于人,而不是所有物体.现在,最新的Halide相机应用增加了对iPhone SE 2 ...

  6. 千里眼摄像头支持对象存储吗_3.5ms超高速写入、支持125℃工作的EEPROM“BR24H-5AC系列”...

    ~电子设备出厂前的初始数据写入时间可减少30%~ 全球知名半导体制造商ROHM(总部位于日本京都市)面向车载摄像头和传感器出厂设置.安全气囊的弹出记录以及需要长时间通电的FA设备和服务器的数据记录系统 ...

  7. Thinkphp修改一句代码,使得foreach标签支持对象,增加变量[数组对象]混合解析法!...

    2019独角兽企业重金招聘Python工程师标准>>> 今天修补一个老项目中,使用的是TP框架,到视图区发现对象无法遍历输出.真够郁闷的,对于不喜欢数组喜欢变量的强迫症来说就得琢磨琢 ...

  8. 千里眼摄像头支持对象存储吗_视频监控对象存储

    一. 中东市场,国际安防厂家活跃 Milestone.Genetec.Thales.Honeywell.Bosch.Hikivision.Dahua , Tyco, Samsung, AXIS,Pec ...

  9. 千里眼摄像头支持对象存储吗_为什么建议大家使用对象存储?我总结了这六点...

    对象存储可以简单理解为用来存储图片.音频.视频等非结构化数据的数据池.相对于主机服务器,具有读写速度快,利于分享的特点.我为什么建议大家使用对象存储?我总结了这六点. 1.网站数据动静分离,大幅提升网 ...

最新文章

  1. 加强原始创新和基础研究的前提:三项破解之策
  2. Java Review - 并发编程_ThreadPoolExecutor原理源码剖析
  3. 读书笔记--Python基础教程 001
  4. matlab 机器学习相关函数、api
  5. 深度学习笔记_基本概念_卷积网络中的通道channel、特征图feature map、过滤器filter和卷积核kernel
  6. 【UML】部署图和构件图
  7. 下载 MIUI任意型号卡刷包/线刷包
  8. 树莓派链接USB摄像头
  9. 上周刚号召加班,这周立马双休,董明珠把互联网玩明白了……
  10. 使用pygame实现双人五子棋游戏
  11. 光E电4个必懂的理财基础知识
  12. Selenium中的EC模块
  13. flink实战--核心概念解析和应用
  14. 计算机专业英语一国家线,从以往国家公布的数据,客观来看2010年英语国家线...
  15. java calendar 增加年_java 使用Date类、Calendar类,实现增加日期
  16. Codec2类的解析
  17. 卡巴斯基KAV/KIS 6.0/7.0 永久免费激活方法
  18. python Process finished with exit code -1073741571 (0xC00000FD)
  19. python怎么做直方图_python如何画直方图
  20. JAVA8 十大新特性详解

热门文章

  1. MySql 数据库入门笔记
  2. 安装Empire时报错
  3. 10-25 顺序表 23-5-11
  4. 数据分析入门系列教程-微博热点
  5. 别迷失在“成功故事”中
  6. 复制ABB机器人系统
  7. 如何分析调查客户背景 成功第一步 事半功倍(普宁电商外贸)
  8. 【Keras之父】DL用于Text
  9. DeepLearning | 图卷积网络基于拓扑结构的分类(T-GCN)
  10. python traceback安装_python之traceback