Linq基础语句

本文介绍了LINQ查询语句的基础知识,包括其在.NET Framework 3.5中的作用,以及如何在C#中使用LINQ进行数据查询。通过示例展示了如何查询数据库表,并解释了from、where和select关键字的功能。此外,还提到了join子句、多表查询以及内连接和外连接的概念,帮助读者掌握LINQ在多表操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linq基础语句

什么是LINQ 查询语句呢,这次我就来讲一下LINQ 查询语句是什么。LINQ 查询语句,LINQ 是
.NET Framework 3.5 的一个扩展集并且它的管理语言使查询更类似于是一种对象。它定义了一种通用的语法和程序模型,使我们可以使用一种惯用的语法完成查找不同类型的数据。

相关操作像查找可以在 LINQ 中使用,并且在 .NET Framework 3.5 中的 C# 和 VB 编译器支持 LINQ 的语法,这就使得它可以通过配置数据来存储,而不需要求助于 ADO.NET

举个例子,在QLDKEntities(自己建的数据库)中查询
PW_Account账户表这张表,使用 C# 中的 LINQ ,代码应该是这样:
在这里插入图片描述

上面这段代码是用来判断账户是否存在的,其中的tbUser是自定义的表名,想怎么起就怎么起,只要不是一些关键字就行,最后的Single();的意思是只有在查询单条数据才会用到,当没有数据或者有多条数据时就会触发异常。当我们在查询多条数据的时候,我们是用ToList();来表达的。
在这里插入图片描述

上面的from关键字逻辑上依次通过每个集合。包含关键字where的表达式会比较集合中的每个对象。select声明会选择被比较出的对象加入到列表中并返回。LINQ 运算符

除了到目前为止使用过的运算符之外,还有很多其他运算符来执行查询子句。我们来看一些运算符和子句。

join 子句,SQL 中的‘join clause’用来连接两个数据表并显示在两个数据表中都出现的列中的数据集合。LINQ 也可以支持这种功能。

适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等。对各个表之间的关系,就用这些实现对多个表的操作。

说明:在Join操作中,分别为Join(Join查询), SelectMany(Select一对多选择)和GroupJoin(分组Join查询)。
该扩展方法对两个序列中键匹配的元素进行inner join操作。

   where

子句允许在查询中添加筛选条件。

适用场景:实现过滤,查询等功能。

说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。

多表查询,顾名思义就是多个表里查找出自己想要的信息,当然这几个表也不是随随便便就可以的,得是互相有关联得表,实际上根据查询要求先将两个表连接起来,形成一张新表,再在新表中查询出满足条件的记录多表查询可分为连接查询和子查询。

一、 连接查询(可分为外连接和内连接)关于外链接的几点说明:

1. 左外连接包括两个表中满足条件的行,再加上在join子句中指出的左表中不满足的行。

2. 不满足链接条件的行在结果中显示为Null;

3.全外连接中参加连接的两个表中的每一条记录都与另一个表的每一条记录连接,其结果集的记录数是两张表记录数的积。

4.左右表是相对的,在语句中先出现的表称为左表,后出现的称为右表。

外连接:外连接可分为左外连接、右外连接、全外连接三种。

注意:外连接只限于两个表中(”.”点表示属于)

内连接:

内连接用于把两个表连接成第三个表,在第三个表中仅包含哪些满足连接条件的记录行。注意:当某个字段在连接的两个表中都有时,要在字段前加“表名”,否则可省略表名。在这里插入图片描述

(图片为引用)

上图为linq语句中得左外部连接(Left Outer Join)实例。好了,这次的linq语句就说到这,说真的,我都不知道自己写了些什么鬼东西,乱七八糟的感觉,希望大家多多见谅~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值