当前位置: 首页 > news >正文

C#两个表多条件关联写法

文章目录

  • C#两个表多条件关联写法
    • 两个表实体类准备
    • 实体类数据初始化
    • 第一种 sql的左关联
    • 第二种相当于sql的 INNER JOIN
      • 写法一:FROM a FROM b where 多条件关联
      • 写法二: FROM JOIN INTO
      • 写法三: FROM JOIN 省略into

C#两个表多条件关联写法

两个表实体类准备

 public class OtherIn{public string AfterOrderNo { get; set; }public long MaterialId { get; set; }public string MaterNumber { get; set; }public long Qty { get; set; }public string Note { get; set; }}public class AfterInfo{public string AfterOrderNo { get; set; }public long MaterialId { get; set; }public string MaterNumber { get; set; }public long AfterQty { get; set; }public string Note { get; set; }}

实体类数据初始化

List<OtherIn> getOtherInGroup = new List<OtherIn>();getOtherInGroup.Add(new OtherIn { AfterOrderNo= "SH231025001",MaterialId=100001,MaterNumber="CTG001",Qty=2});getOtherInGroup.Add(new OtherIn{AfterOrderNo = "SH231025001",MaterialId = 100002,MaterNumber = "CTG002",Qty = 3});getOtherInGroup.Add(new OtherIn{AfterOrderNo = "SH231025002",MaterialId = 100002,MaterNumber = "CTG002",Qty = 4});List<AfterInfo> getAfterGroup = new List<AfterInfo>();getAfterGroup.Add(new AfterInfo {AfterOrderNo = "SH231025002",MaterialId = 100002,MaterNumber = "CTG002",AfterQty = 5});getAfterGroup.Add(new AfterInfo{AfterOrderNo = "SH231025001",MaterialId = 100001,MaterNumber = "CTG001",AfterQty = 1});

第一种 sql的左关联

FROM a JOIN b on 组合键关联 into 临时表 from 临时表(左关联不上右边默认为空)

  var getExcessGroup = from a in getOtherInGroupjoin b in getAfterGroup on new { a.AfterOrderNo, a.MaterialId } equals new { b.AfterOrderNo,b.MaterialId }into resultfrom c in result.DefaultIfEmpty()select new{AfterOrderNo = a.AfterOrderNo,MaterialId=a.MaterialId,Qty = a.Qty,AfterQty = c == null ? 0 : c.AfterQty};

结果
在这里插入图片描述

第二种相当于sql的 INNER JOIN

写法一:FROM a FROM b where 多条件关联

 var getExcessGroup2 = from a in getOtherInGroupfrom b in getAfterGroupwhere a.AfterOrderNo == b.AfterOrderNo && a.MaterialId == b.MaterialIdselect new{AfterOrderNo = a.AfterOrderNo,MaterialId = a.MaterialId,Qty = a.Qty,AfterQty = b == null ? 0 : b.AfterQty};

结果
在这里插入图片描述

写法二: FROM JOIN INTO

FROM a JOIN b on 组合键关联 into 临时表 from 临时表(不默认为空)

var getExcessGroup1 = from a in getOtherInGroupjoin b in getAfterGroup on new { a.AfterOrderNo, a.MaterialId } equals new { b.AfterOrderNo, b.MaterialId }into resultfrom c in resultselect new{AfterOrderNo = a.AfterOrderNo,MaterialId = a.MaterialId,Qty = a.Qty,AfterQty = c == null ? 0 : c.AfterQty};

结果
在这里插入图片描述

写法三: FROM JOIN 省略into

var getExcessGroup11 = from a in getOtherInGroupjoin b in getAfterGroup on new { a.AfterOrderNo, a.MaterialId } equals new { b.AfterOrderNo, b.MaterialId }select new{AfterOrderNo = a.AfterOrderNo,MaterialId = a.MaterialId,Qty = a.Qty,AfterQty = b.AfterQty};

结果
在这里插入图片描述

相关文章:

C#两个表多条件关联写法

文章目录 C#两个表多条件关联写法两个表实体类准备实体类数据初始化第一种 sql的左关联第二种相当于sql的 INNER JOIN写法一&#xff1a;FROM a FROM b where 多条件关联写法二&#xff1a; FROM JOIN INTO写法三&#xff1a; FROM JOIN 省略into C#两个表多条件关联写法 两个…...

VSCode-C/C++环境配置

0.下载VSCode VSCode官网 Visual Studio Code - Code Editing. Redefined 1.安装VSCode 2.编译器下载与配置 2.1下载编译器安装包 编译器的安装包分为两种一种是在线的一种是离线的,其区别的特点如下 在线安装&#xff08;只是个下载器&#xff0c;打开后还要下载各种东西…...

第八周实验记录

10月20日-10月22日工作&#xff1a; 复现S-NeRF代码&#xff0c;按照github的步骤进行&#xff0c;首先使用一个RTX3090显卡&#xff0c; 在下图步骤中&#xff1a;运行最后一步 python scripts/run.py 出现问题 继续使用两张RTX3090显卡尝试&#xff0c;依旧在这一步出现问…...

Spring Cloud Alibaba Seata 实现 SAGA 事物

Seata 是一款开源的分布式事务解决方案&#xff0c;致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式&#xff0c;为用户打造一站式的分布式解决方案 Seata 官网&#xff1a;https://seata.io/zh-cn/ Spring Cloud Alibaba 官…...

npm install报错,解决记录

第一步&#xff1a;检查和安装 我这里建议检查 1.node.js版本是否和前使用版本一致 2.npm版本是否和前使用版本一致 3.vue版本是否和前使用版本一致 4.vue脚手架是否和前使用版本一致 5.npm镜像是否和前使用版本一致 1.检查版本 【node版本】 命令&#xff1a;node -v 结果&a…...

LSM树原理详解

LSM树(Log-Structured-Merge-Tree)的名字往往会给初识者一个错误的印象&#xff0c;事实上&#xff0c;LSM树并不像B树、红黑树一样是一颗严格的树状数据结构&#xff0c;它其实是一种存储结构&#xff0c;目前HBase,LevelDB,RocksDB这些NoSQL存储都是采用的LSM树。 LSM树的核…...

Linux系统编程_网络编程:字节序、socket、serverclient、ftp 云盘

1. 网络编程概述&#xff08;444.1&#xff09; TCP/UDP对比 TCP 面向连接&#xff08;如打电话要先拨号建立连接&#xff09;&#xff1b;UDP 是无连接的&#xff0c;即发送数据之前不需要建立连接TCP 提供可靠的服务。也就是说&#xff0c;通过 TCP 连接传送的数据&#xf…...

队列(8.6)

目录 2.队列 2.1队列的概念及结构 2.2队列的实现 2.2.1初始化队列 2.2.2队尾入队列 2.2.3队头出队列 2.2.4获取队列头部元素 2.2.5 销毁队列 3.栈和队列面试题 225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; 232. 用栈实现队列 - 力扣&#xff08;LeetC…...

计算机网络 第四章网络层

文章目录 1 网络层的功能2 数据交换方式&#xff1a;电路交换3 数据交换方式&#xff1a;报文交换4 数据交换方式&#xff1a;分组交换5 数据交换方式&#xff1a;数据报方式6 数据交换方式&#xff1a;虚电路方式及各种方式对比7 路由算法及路由协议8 IP数据报的概念和格式9 I…...

操作系统运行机制

文章目录 操作系统运行机制特权指令VS非特权指令内核态VS用户态中断和异常内中断(异常)外中断中断机制基本原理中断处理过程 系统调用系统调用和库函数的区别为什系统调用时必须的&#xff1f;什么功能需要用到系统调用系统调用的过程小结 操作系统内核 操作系统运行机制 特权…...

mathtype7.4破解永久激活码

MathType(数学公式编辑器)是由Design Science公司研发的一款专业的数学公式编辑工具。MathType功能非常强大&#xff0c;尤其适用于专门研究数学领域的人群使用。使用MathType让你在输入数学公式的时候能够更加的得心应手&#xff0c;各种复杂的运算符号也不在话下。 MathType最…...

66 内网安全-域横向批量atschtasksimpacket

目录 演示案例:横向渗透明文传递at&schtasks 案例2-横向渗透明文HASH传递atexec-impacket案例3-横向渗透明文HASH传递批量利用-综合案例5-探针主机域控架构服务操作演示 传递攻击是建立在明文和hash值的一个获取基础上的攻击&#xff0c;也是在内网里面常见协议的攻击&…...

PCI9054入门1:硬件引脚定义、时序、FPGA端驱动源码

文章目录 1&#xff1a;PCI9054的FPGA侧&#xff08;local侧引脚定义&#xff09;2&#xff1a;PCI9054的C模式下的读写时序3&#xff1a;FPGA代码部分具体代码&#xff1a; 1&#xff1a;PCI9054的FPGA侧&#xff08;local侧引脚定义&#xff09; 而PCI9054的本地总线端的主要…...

多媒体应用设计师 第17章 多媒体应用场景的技术应用和实现示例

口诀 思维导图 2020...

react151618刷新几次的问题

结论&#xff1a; 16 hooks版本 默认render1次 同步中&#xff0c;无论多少种类还是次数&#xff0c;都render 1次。 异步中&#xff0c;无论多少种类还是次数&#xff0c;1个种类执行1次&#xff0c;多次的话&#xff0c;用n*2。 18 hooks版本 默认render2次&#xff0c; 同步…...

【Spring】IOC容器与Bean的常用属性配置

文章目录 1.前言2.IOC容器2.1 BeanFactory 容器2.2 ApplicationContext 容器 3.Bean的常用属性配置4. 总结 1.前言 在之前的文章-IOC的快速入门中讲过Bean这个概念. 本来就来介绍容器与Bean的常用属性配置 在Spring框架中&#xff0c;Bean指的是被Spring加载生成出来的对象。 …...

2023年下半年 系统集成项目管理工程师 真题考点(一二三四批次)(10月28、29)(网友回忆版)

文章目录 第一批部分考点整体管理采购管理风险管理二&#xff1a;EAC 第二批部分考点如下&#xff1a; 第三批部分考点如下&#xff1a; 第一批 部分考点 1、案例考了关键路径和工期&#xff0c;风险管理、采购、风险、招投标&#xff0c;整体管理。 2、计算题有关键路径和挣…...

读韩都衣舍,谈权力转移的激励制度

这是一个很久之前的商业案例。 在大公司&#xff0c;管理过于复杂&#xff0c;成了现在公司管理的大问题。大公司的流程长&#xff0c;市场的突击速度慢&#xff0c;以及员工的积极性差&#xff0c;成为大公司的一个潜在的弊病。而最近&#xff0c;从韩都衣舍的创始人赵迎光的…...

私有云:【10】VCenter安装win10

私有云&#xff1a;【10】VCenter安装win10 1、ESXI挂载win10镜像2、VCenter安装win102.1、创建虚拟机2.2、启动虚拟机 此WIN10用来作为以后的远程桌面 1、ESXI挂载win10镜像 2、VCenter安装win10 2.1、创建虚拟机 创建虚拟机 设置名称下一步 选择计算机资源 选择NFS存储 设置…...

[Java/力扣100]判断两棵二叉树是否相同

我希望通过这道题&#xff0c;能进一步了解递归思想和“树是递归定义的”这句话 分析 我们的目的是写一个方法来检验两棵树是否相同 什么叫“两棵树相同”&#xff1f;——相同的位置存在相同的结点 有三种情况&#xff1a;1、两棵树一颗为空一颗不为空——不相同&#xff…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...