LinqToSQL4
Join和GroupJoin的区别
List<Atable> ainfo = new List<Atable>
{
new Atable{ AId=1, AName="A1", AAge="11" },
new Atable{ AId=2, AName="A2", AAge="12"},
new Atable{ AId=3, AName="A3",AAge="13"}
};
List<Btable> binfo = new List<Btable>()
{
new Btable{ BId=1, BName="B1", BAge="81" },
new Btable{ BId=3, BName="B3", BAge="83"},
new Btable{ BId=5, BName="B5",BAge="85"}
};
Join
官方释义:基于匹配键对两个序列的元素进行关联。使用默认的相等比较器对键进行比较。
这个与数据库中的INNER JOIN很类似,就是使用一个键(TKey)将两个集合关联起来,并对这两个集合的元素进行选择,作为结果输出。
var info = ainfo.Join(binfo, //需要连接的数据源
a => a.AId,
b => b.BId,
(a, b) => new { a.AName, b.BName }); //获取自己定义类型的集合。
foreach (var item in info)
{
Console.WriteLine(item.AName + item.BName);
}
GroupJoin
官方释义: 基于键相等对两个序列的元素进行关联并对结果进行分组。使用默认的相等比较器对键进行比较。
这个与数据库的LEFT OUTER JOIN很类似。与Join的区别就是:GroupJoin内resultSelector的输入参数从TInner单个元素编程IEnumerable<TInner>元素集合,其他保持不变。用法与Join差不多,它也是基于TOuter.TKey及TInner.TKey的连接。
var info = ainfo.GroupJoin(binfo, //需要连接的数据源
Atable => Atable.AId, //通过AId指定数据源
Btable => Btable.BId, //通过BId指定数据源
(a, b) => new
{
a.AName,
binfos = b
}//创建结果相同的数据
).ToList(); foreach (var item in info)
{
foreach (var b in item.binfos)
{
Console.WriteLine(item.AName + "\t" + b.BName);
} }
LinqToSQL4的更多相关文章
随机推荐
- TNetHttpClient的用法
TNetHttpClient的用法 TNetHttpClient是DELPHI XE8新增加的控件. 在之前,我们一般都是使用IDHTTP控件,但在安卓.IOS等非WINDOWS平台,IDHTTP访问 ...
- kafka 基本原理简介
Kafka是啥?用Kafka官方的话来说就是: Kafka is used for building real-time data pipelines and streaming apps. It i ...
- ccf 201803-2 碰撞的小球(Python)
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒. 当小球到达线 ...
- 50行代码写的一个插件,破解一个H5小游戏
小游戏链接:测测你的眼睛对色差的辨识度http://www.webhek.com/post/color-test.html?from=timeline 废话不多说,先放代码: window.onloa ...
- oracle-密码
Oracle 11g 默认用户名和密码安装ORACLE时,若没有为下列用户重设密码,则其默认密码如下: 用户名/密码 登录身份 说明sys/change_on_install SYSDBA 或 SYS ...
- @Autowired注解与@Resource注解的区别与用法
Spring不但支持自己定义的@Autowired注解,还支持JSR-250规范定义的几个注解.如:@Resource.@PostConstruct及@PreDestroy 1. @Autowired ...
- spring 事务-使用@Transactional 注解(事务隔离级别)
转: spring 事务-使用@Transactional 注解(事务隔离级别) 2016年08月11日 21:49:20 华华鱼 阅读数 15490 标签: spring事务Transactiona ...
- PAT 甲级 1020 Tree Traversals (25 分)(二叉树已知后序和中序建树求层序)
1020 Tree Traversals (25 分) Suppose that all the keys in a binary tree are distinct positive integ ...
- 2018.04.03 ABAP OLE操作整理
OLE整理: 1.定义,分别对应EXCEL,workbook(工作簿),sheet(页),单元格 DATA: EXCEL_OBJ TYPE OLE2_OBJECT, BOOK_OBJ TYPE OLE ...
- JAVA 基础编程练习题45 【程序 45 被 9 整除】
45 [程序 45 被 9 整除] 题目:判断一个素数能被几个 9 整除 package cskaoyan; public class cskaoyan45 { public static void ...