join Linq
List<Publisher> Publishers = new List<Publisher>();
Publisher publish1 = new Publisher();
publish1.Code = "";
publish1.Name = "北京出版社1";
Publishers.Add(publish1); Publisher publish2 = new Publisher();
publish2.Code = "";
publish2.Name = "北京出版社2";
Publishers.Add(publish2); List<Book> Books = new List<Book>();
Book boo1 = new Book();
boo1.Publisher = new Publisher() { Name = "北京出版社1",Code="" };
boo1.Title = "书名1";
boo1.PublisherCode = "";
Books.Add(boo1); Book boo2 = new Book();
boo2.Publisher = new Publisher() { Name = "北京出版社2",Code="" };
boo2.Title = "书名2";
boo2.PublisherCode = "";
Books.Add(boo2); Book boo3 = new Book();
boo3.Publisher = new Publisher() { Name = "北京出版社2",Code="" };
boo3.PublisherCode = "";
boo3.Title = "书名3";
Books.Add(boo3); //使用组连接
var GroupQuery = (from publisher in Publishers
join book in Books on publisher equals book.Publisher
into publisherBooks
select new
{
PublisherName = publisher.Name,
Books = publisherBooks
}).ToList(); //使用Group
var QueryByGroup = (from book in Books
group book by book.Publisher
into grouping
select new
{
PublisherName = grouping.Key.Name,
Books = grouping.ToList()
}).ToList(); var joinQuery = from publisher in Publishers
join book in Books
on publisher equals book.Publisher select new
{
PublisherName = publisher.Name,
BookName = book.Title
};
var tem = joinQuery.ToList(); //left join
var joinQuery2 = (from publisher in Publishers
join book in Books on publisher.Code equals book.PublisherCode
into publisherBooks
from publisherBook in publisherBooks.DefaultIfEmpty()
select new
{
PublisherName = publisher.Name,
BookName = (publisherBook == default(Book)) ? "no book" : publisherBook.Title
}).ToList(); //cross join
var crossJoinQuery = (from publisher in Publishers
from book in Books
select new
{
PublisherName = publisher.Name,
BookName = book.Title
}).ToList();
join Linq的更多相关文章
- Entity Framework Code First 在Object Join Linq查询时出现全表查询的语句。
最近一个项目,使用微软的Entity Framework的ORM框架的项目,部署到现场后,出现了系统缓慢,多个客户端的内存溢出崩溃的问题. 打开了SQL Server Profiler(SQL Ser ...
- 深入调研Linq to Objects Join Linq to Entity
最近工作中遇到数据库组合查询带来的一些问题,因此有必要调研一下Linq to Objects Join Linq to Entity.参考一些网友的代码案例,深入实践了一下使用EntityFramew ...
- Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式
当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left ...
- linq left join ,inner join ,crossjoin
inner join : linq 默认使用Inner Join的链接方式,如下面的表达式一样: Left Join: 左链接返回左表的全部数据,以及右表中满足链接条件和不满足链接条件的数据,不满足的 ...
- Linq操作之Except,Distinct,Left Join 【转】
最近项目中用到了Linq中Except,Distinct,Left Join这几个运算,这篇简单的记录一下这几种情形. Except 基础类型使用Linq的运算很简单,下面用来计算两个集合的 ...
- Linq 操作基础
参考资料: LINQ系列:LINQ to DataSet的DataTable操作 List<T>转换为DataTable C# DataTable 和List之间相互转换的方法 Linq中 ...
- LINQ to SQL语句
http://kb.cnblogs.com/page/42477/2/ 本系列文章导航 LINQ to SQL语句(1)之Where LINQ to SQL语句(2)之Select/Distinct ...
- Linq to EF 与Linq to Object 使用心得
大家都知道Linq既可以用来查询数据库对象(我这里指的是Entity FrameWork里的Model对象),也可以用来查询内存中的IEnumerable对象. 两者单独查询时都不会出现什么问题,不过 ...
- LINQ 学习笔记(1)
学习资源参考 : http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html 常用方法是 Where, OrderBy, Selec ...
随机推荐
- Tcp/ip 报文解析
在编写网络程序时,常使用TCP协议.那么一个tcp包到底由哪些东西构成的呢?其实一个TCP包,首先需要通过IP协议承载,而IP报文,又需要通过以太网传送.下面我们来看看几种协议头的构成 一 .Ethe ...
- 微软发布正式版SQL Server 2016
微软于今天在SQL 官方博客上宣布 SQL Server 数据库软件的正式发布版本(GA),历时一年多,微软为该软件发布了多个公共预览版和候选版本,而今天最终版本终于上线了.在博客中,微软数据集团的企 ...
- mybatis_基础篇
一.认识mybatis: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改 ...
- Win.ini和注册表的读取写入
最近在做打包的工作,应用程序的配置信息可以放在注册表文件中,但是在以前的16位操作系统下,配置信息放在Win.ini文件中.下面介绍一下Win.ini文件的读写方法和注册表的编程. 先介绍下Win.i ...
- java单向加密算法小结(1)--Base64算法
从这一篇起整理一下常见的加密算法以及在java中使用的demo,首先从最简单的开始. 简单了解 Base64严格来说并不是一种加密算法,而是一种编码/解码的实现方式. 我们都知道,数据在计算机网络之间 ...
- js学习之函数的参数传递
我们都知道在 ECMAScript 中,数据类型分为原始类型(又称值类型/基本类型)和引用类型(又称对象类型):这里我将按照这两种类型分别对函数进行传参,看一下到底发生了什么. 参数的理解 首先,我们 ...
- BPM配置故事之案例4-子表
公司渐渐对采购管理重视起来了,新招聘了采购主管老李,老李对现有的申请表很不满意,要求将申请物资和申请原因改成物资明细表 物资明细表 小明只好继续致电大毛-- 大毛:把申请物资和申请原因删掉,新增一个数 ...
- 基于jQuery左右滑动切换特效 附源码
分享一款基于脚jQuery左右滑动切换特效.这是一款鼠标点击左右箭头按钮图片滚动切换,鼠标移到图片上显示透明边框特效. 效果图如下: 废话不多说,代码奉上! html代码: <div ...
- LINQ to SQL语句(7)之Exists/In/Any/All/Contains
适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...
- 烂泥:jira7.2安装、中文及破解
. jira的主要配置文件,存放在/opt/atlassian/jira/conf/server.xml文件中,如下: vim /opt/atlassian/jira/conf/server.xml ...