从两个集合里排除重复的写法(适用:DB表和字段都很多,表间有关联的情况)
获取其中一张表bulletinred为1的内容:
public IList<BRShow> GetBulInfo()
{
var result = from a in ((Entities)this.DataContext).SPEPBULLETIN
join b in ((Entities)this.DataContext).USERS on a.USERID.ToUpper() equals b.ACCOUNT.ToUpper() orderby a.POSTDATE descending
select new BRShow { ID = a.ID, TITLE = a.TITLE, NAME = b.NAME, POST_LEVEL = a.POST_LEVEL, POSTCONTENT = a.POSTCONTENT, POSTDATE = a.POSTDATE, bulletinread = }; //查询出所有信息 //20140402 By Xudaxia 遍历result,取得为1的条数
var result2 = (from r in result
join b in ((Entities)this.DataContext).BULLETIN_RECORDS
on r.ID equals b.ID
select r).ToList();
foreach (var r in result2) { r.bulletinread = ; };
return result2;
}
获取表所有信息:
public IList<BRShow> GetBulInfo1()
{
var spepbulletins = ((Entities)this.DataContext).SPEPBULLETIN.ToList();
var users = ((Entities)this.DataContext).USERS.ToList();
var result = from a in spepbulletins
join b in users on a.USERID.ToUpper() equals b.ACCOUNT.ToUpper()
orderby a.POSTDATE descending
select new BRShow { ID = a.ID, TITLE = a.TITLE, NAME = b.NAME, POST_LEVEL = a.POST_LEVEL, POSTCONTENT = a.POSTCONTENT, POSTDATE = a.POSTDATE}; //查处所有信息(含未读和已读)
return result.ToList();
}
在页面上调用,转为LIST后在所有信息中遍历取得ID,判断A表和B表的ID是否一致,如果一直则将bulletinred赋值为1
List<BRShow> list = bulRep.GetBulInfo().ToList();//查处所有已读信息
List<BRShow> list1 = bulRep.GetBulInfo1().ToList();
foreach (BRShow b in list)
{
if (list1.Where(l => l.ID == b.ID).First() != null)
list1.Where(l => l.ID == b.ID).First().bulletinread = ;
}
最后取得所有相关内容
List<BRShow> tt = list1;
----附:欢迎大家提出更简便、性能更好的方法~
从两个集合里排除重复的写法(适用:DB表和字段都很多,表间有关联的情况)的更多相关文章
- SQL技巧两则:选择一个表的字段插入另一个表,根据其它表的字段更新本表内容
最近,在作django数据表迁移时用到的. 因为在django中,我把本来一个字符型字段,更改成了外键, 于是,哦喝~~~字符型字段相当于被删除了, 为了能导入这些字段的外键信息,于是出此下策. 其实 ...
- 从两个List集合里找到相同部分和不同部分
/** * 获取两个集合里元素不同的部分 */ public List<User> getDifferent(List<User> u1, List<User> u ...
- Java 单个集合去重与两个集合去重
一.单个集合去重 描述: 去掉一个集合里重复的元素:将list集合转成hashSet集合,hashSet有自动去重的功能,再利用去重后的hashSet集合初始化一个新的list集合,此时这个list就 ...
- Java对比两个数据库中的表和字段,写个冷门的东西
Java对比两个数据库中的表和字段,写个冷门的东西 转载的 来源网络 目前所在的项目组距离下个版本上线已经很近了,就面临了一个问题:开发人员在开发库上根据需要增加数据表.数据字段.或者变更了字段类型或 ...
- Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解
Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全 Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
c#封装DBHelper类 public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...
- 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象
本文需要对C#里的LINQ.Lambda 表达式 .委托有一定了解. 在工作中,经常遇到需要对比两个集合的场景,如: 页面集合数据修改,需要保存到数据库 全量同步上游数据到本系统数据库 在这些场景中, ...
- jquery 排除重复
应用场景——双盒选择器 两个select可能会出现重复的情况 排除重复代码如下: /** * 删除$fromGroup中与$toGroup重复的option * @param $fromGroup = ...
- C# 判断两个集合(List)是否相等
1.两个list如果有重复元素(如List1: a,b,a List2: b,b,a) 是无法通过包含关系来判断是否相等的. 有两个办法,其一是两个List排序后再按顺序比较.另一个办法就是计算各元 ...
随机推荐
- SDWebImage源码解读之SDWebImageDownloader
SDWebImage源码解读之SDWebImageDownloader 第八篇 前言 SDWebImageDownloader这个类非常简单,作者的设计思路也很清晰,但是我想在这说点题外话. 如果有人 ...
- c++11 lambda递归调用写法
偶然想到要在函数内部使用lambda递归调用,以下是可行的写法,可参考 std::function<void(Node * container,const BlendFunc &blen ...
- Camera图像处理原理及实例分析-重要图像概念
Camera图像处理原理及实例分析 作者:刘旭晖 colorant@163.com 转载请注明出处 BLOG:http://blog.csdn.net/colorant/ 主页:http://rg ...
- Linux/U-Boot Git Repo
Linux: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git U-Boot: git://git.denx.de/ ...
- 删除共享内存后key为0x00000000的问题
一开始是 ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status root dest gyf ...
- HDOJ-ACM1097(JAVA) A hard puzzle
这道题就是HDOJ的1061的变形: 1061 :求n的n次方的个位数 http://www.cnblogs.com/xiezie/p/5596779.html 1097 :求n的m次方的个位数 因此 ...
- 教程-Delphi资源文件(全面分析于使用)
Delphi资源文件(全面分析之位图.光标.图标.AVI.JPEG.Wave) 几乎每个Windows应用程序都使用图标.图片.光标等资源.资源是程序的一部分,但是它是不可执行代码.下面我们就详细 ...
- maven依赖范围
Scope: Compile:编译依赖,默认就是compile,在编译.测试.运行都有效 Test:测试依赖,仅测试有效 例如Junit Provided:已提供依赖范围.编译.测试有效,运行时候无效 ...
- 聊聊LAA(LARGE ADDRESS AWARE)
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:聊聊LAA(LARGE ADDRESS AWARE).
- ubuntu14.04中安装QuartusII9.1步骤
家里的计算机安装了WIN10,出于够用且安装文件小,想安装QuartusII9.1,按M$风格,驱动绝对是安不上的.正好是双系统ubuntu14.04 64位.安装过程不太顺利,记录下来,当作已经不灵 ...