[EF] - 全连接
在EntityFramework里有个DeflautIfEmpty方法可以用来表示数据库里的左联接或者右连接:
http://msdn.microsoft.com/en-us/library/bb397895.aspx
但是MS没有给出全连接对应的方法,这个比较坑。
研究了下,发现其实全链接就相当于左联接+右连接,所以在LINQ查询里可以对要连接的表做两次查询,然后用Union或者Concat连接起来就是一个全连接了:
var leftoutrtjoin = (from order in db.Orders join team in db.Teams on order.OrderID equals team.TeamID into ot from otnew in ot.DefaultIfEmpty() select new { OrderID = order.OrderID, TeamID = otnew == null ? 0 : otnew.TeamID }).ToList(); var rightouterjoin = (from team in db.Teams join order in db.Orders on team.TeamID equals order.OrderID into ot from otnew in ot.DefaultIfEmpty() select new { OrderID = otnew == null ? 0 : otnew.OrderID, TeamID = team.TeamID }).ToList(); var fullouterjoin = leftoutrtjoin.Concat(rightouterjoin);
[EF] - 全连接的更多相关文章
- Linq连接查询之左连接、右连接、内连接、全连接、交叉连接、Union合并、Concat连接、Intersect相交、Except与非查询
内连接查询 内连接与SqL中inner join一样,即找出两个序列的交集 Model1Container model = new Model1Container(); //内连接 var query ...
- SQL多表查询:内连接、外连接(左连接、右连接)、全连接、交叉连接
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPgAAADCCAIAAADrUpiXAAAGYklEQVR4nO3dQXqjuAJFYa1LC9J6tB
- SQL Server之内连接 左连接 右连接 全连接 交叉连接
SELECT * FROM Table_A GO SELECT * FROM Table_B GO --内连接 SELECT a.*, b.* FROM Table_A a JOIN Table_B ...
- SQL 四种连接:内连接、左外连接、右外连接、全连接--转载
原文:http://zwdsmileface.iteye.com/blog/2191730 个人理解 内连接(INNER JOIN)(典型的连接运算,使用像 = 或 <> ...
- caffe之(四)全连接层
在caffe中,网络的结构由prototxt文件中给出,由一些列的Layer(层)组成,常用的层如:数据加载层.卷积操作层.pooling层.非线性变换层.内积运算层.归一化层.损失计算层等:本篇主要 ...
- 全连接的BP神经网络
<全连接的BP神经网络> 本文主要描述全连接的BP神经网络的前向传播和误差反向传播,所有的符号都用Ng的Machine learning的习惯.下图给出了某个全连接的神经网络图. 1前向传 ...
- MySQL全连接(Full Join)实现,union和union all用法
MySQL本身不支持你所说的full join(全连接),但可以通过union来实现 ,下面是一个简单测试,可以看看: mysql> CREATE TABLE a(id int,name cha ...
- SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
SQL 连接 JOIN 例解.(左连接,右连接,全连接,内连接,交叉连接,自连接) 最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想-现在在这写写关于它们的作用假设有 ...
- SQL 四种连接查询(内连接、左连接、右连接、全连接)
下面列出了您可以使用的 JOIN 类型,以及它们之间的差异. (1) JOIN: 如果表中有至少一个匹配,则返回行(inner join) (2) LEFT JOIN: 即使右表中没有 ...
随机推荐
- P2887 [USACO07NOV]Sunscreen G
将奶牛按照能忍受的阳光强度最大值从小到大排序.对于当前这头奶牛,选取它能抹的最小防晒霜.因为越大的防晒霜后面的奶牛越可能利用,并且抹显然不劣于不抹. 时间复杂度 \(O\left(C\log C+L\ ...
- C语言讲义——C语言的布尔类型
C89标准中没有定义布尔类型: C99中增加了_Bool类型.实际上是只能等于0或1的整数类型,凡是不为0的整数都被转变为1, C99还提供了一个头文件<stdbool.h>,该头文件提供 ...
- Cisco交换机常见配置
-------查看当前系统基础信息-------- sh version //查看当前IOS版本. sh running-config //查看当前系统中运行的配置信息 -------清除当前系统配置 ...
- 多k8s集群管理
多集群的切换是K8s运维中比不可少的问题,常见的基于多个集群进行切换的方法有三种: 切换config文件 通过context进行集群切换 用kubecm进行集群切换 切换config文件 我们先看看放 ...
- LeetCode 046 Permutations
题目要求:Permutations(全排列) Given a collection of numbers, return all possible permutations. For example, ...
- 冲刺随笔——Day_Ten
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 ...
- 【Usaco 2009 Silver】JZOJ2020年9月19日提高B组T1 音乐节拍
[Usaco 2009 Silver]JZOJ2020年9月19日提高B组T1 音乐节拍 题目 Description FJ准备教他的奶牛弹奏一首歌曲,歌曲由N(1<=N<=50,000) ...
- pthread 互斥量
参考文献: [1] https://computing.llnl.gov/tutorials/pthreads/ 温故知新 在 OS 中,每个进程都独立地拥有: Process ID, process ...
- java并发编程实战《五》死锁
一不小心就死锁了,怎么办? 在上一篇文章中,我们用 Account.class 作为互斥锁,来解决银行业务里面的转账问题,虽然这个方案不存在并发问题,但是所有账户的转账操作都是串行的,性能太差. 向现 ...
- 区块链学习5:智能合约Smart contract原理及发展历程科普知识
☞ ░ 前往老猿Python博文目录 ░ 一.智能合约的定义 通俗来说,智能合约就是一种在计算机系统上,当一定条件满足的情况下可被自动执行的合约,智能合约体现为一段代码及其运行环境.例如银行信用卡的自 ...