Linq左查询

开发工具与关键技术:VS、linq左查询

作者:陆桂超

撰写时间:2019年7月16日

Linq左查询是linq查询的方法之一,那么在什么时候要用到linq左查询呢?下面我同过一个例子来解说linq左查询的使用场合和使用方法。我用的是VS开发工具,C#编程语言,和mvc开发框架。

1、首先看看要解决的问题。如下图所示采购订单表和采购入库表,采购入库表以采购订单表的主键为外键把两表连起来。现在我要查询采购订单表的数据,条件是:采购订单表的bit值为True而采购入库的bit值为false。

在这里插入图片描述

2、错误做法。
在这里插入图片描述

在没有使用过左查询之前,上图所示的方法往往是我们用到的。上图所示的代码看似没问题,就是把两张表连起来,查询条件是tbPurchaseIndent.ToAudit
== true &&
Purchase.RKToAudit == false

事实上这总写法是错误的,因为忽略了一种情况就是当采购订单表有数据而采购入库表没有数据时就会出错。因此,在这里就要用到左查询。

3、正确做法。Linq左查询。
在这里插入图片描述

如上图所示,画了下划线的是左查询语句。

语法结构是:into + 自定义表名1 from 自定义表名2 in 自定义表名1. DefaultIfEmpty()

这样,当采购订单表有数据而采购入库表没有对应的数据时,采购入库表就会以空来代替。这样就可以避免报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值