前言:前言不重要,linq入门常用的语法,linq语法可以用来写操作集合、数据库表集合等等几乎所有集合类型的操作。下面就写几个案例(以List集合来做的),看代码和运行结果即可。

本文演示环境:VS2022 + .NET 6

1、创建一个.NET 6.0的控制台项目,用来演示测试和输出。

2、然后新增两个实体类,用于后续做测试使用,包括关联查询等。

3、初始化一丢丢数据,当做测试的原始数据。

4、先运行下,看下当前数据集合的结果集是怎么样的。此处以Json格式展示,以下其他输出也一样,都是用Json数据输出,比较好对比。

5、先玩一下最简单的lambda表达式的查询方法,以下只是最基本的操作,还有很多别的扩展使用方法,待自己发现。

6、lambda表达式的操作方法,也可以对查询结果字段进行起别名。

7、有一个很好用的判断集合是否存在数据的,直接使用 Any。 Any里面也可以写lambda表达式,例如 xxx.Any(x=>x.Id==2) ,如果结果为True,代表集合里面存在字段Id为2的数据。不存在即为False。

8、linq语法,最简单的查询方式,from 集合/表的别名 in 集合/表 where 条件 select 字段集合;

9、同样的,linq语法里面的查询结果字段名,也可以起别名。

10、可以通过orderby对指定的字段进行排序。也可以多个字段并列排序,同时存在升序和降序,待自己发现。

11、也可以关联查询,关联查询最简单的查询语法书  from 表1别名 in 表1 join 表2别名 in 表2 on 表1.字段 equals 表2.字段 select 需要筛查的字段;

也可以继续拓展出和表3的关联查询、表4的关联查询,等等……

12、关联查询也一样可以使用Where语句进行约束条件。

13、也可以进行分组查询。group 后面接的是最终需要查询的结果集字段。

14、结果集字段同样支持别名、指定字段等等。

15、以上就是该文章的全部内容,内容很简单,希望对初学者或者入门的小伙伴会有帮助。当然,上面的演示都是非常基础和简单的,平常使用ORM进行操作数据库、或者操作其他集合,例如DbSet、IEnumerable等等类型的,也都可以支持这么操作。这样可以避免直接写SQL语句进行操作数据库可能产生的一些不好的情景,例如切换另一个品牌的数据库之类的,就可能需要重写SQL语句了;而使用Linq语法就可以一定程度上避免存在这样的情况,毕竟可以面向实体,只要保证实体没变,就可以不担心数据库切换了,代码也就不需要更改了。

如果觉得文章有帮助,欢迎点赞推荐、转发【本文链接:https://www.cnblogs.com/weskynet/p/16471967.html 】和留言,谢谢。

【.NET基础】Linq常用语法代码演示的更多相关文章

  1. python全栈测试之路-py3基础:基础的常用语法知识

    python基础链接 python3速查参考- python基础 2 -> if语句应用 + while循环应用 https://www.cnblogs.com/wuzhiming/p/7795 ...

  2. Linq常用语法详细

    1.简单的linq语法 //1 var ss = from r in db.Am_recProScheme select r; //2 var ss1 = db.Am_recProScheme; // ...

  3. HTML常用知识点代码演示

    1 HTML部分常用知识点 <!-- 版本声明 --> <!DOCTYPE html> <!-- 唯一根元素 --> <html> <!-- 对网 ...

  4. html和css的常用语法代码详解

    前端html html 超文本标记语言.文本,图片,视频,音频. 网页基本信息 一个基础的网页具有的一些信息. <!-- 这是注释--> <!--!DOCTYPE网页约束规范--&g ...

  5. js基础(常用语法、类型、函数)

    js函数集 ·字符串(String)  1.声明  var myString = new String("Every good boy does fine.");  var myS ...

  6. 单元测试_JUnit常用单元测试注解介绍及代码演示

    JUnit常用单元测试注解介绍及代码演示   by:授客 QQ:1033553122 1. 测试环境 1 2. 基础概念 1 3. 常用Annotation 1 4. 运行环境配置 3 maven配置 ...

  7. C# LiNq的语法以及常用的扩展方法

    首先先来扯一下,这篇博文是我第一次写的,主要是我的一些摘录,希望对大家有所帮助. Linq的基础 •LINQ(读音link):Linq To SQL(过时).Linq To Object.Linq T ...

  8. Markdown通用的常用语法说明

    前言 Markdown 是一种轻量级的 标记语言,语法简洁明了.学习容易,还具有其他很多优点,目前被越来越多的人用来写作使用. Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表 ...

  9. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

随机推荐

  1. Mysql 连续时间分组

    该方案:不限于本例的时间连续,也可适用于其他按连续分组. 连续条件 分组这问题困扰了很久,之前觉得在SQL上很难处理,都是在程序上做处理.后面实在有太多这需求了,所以只能想办法在SQL上处理了. 如下 ...

  2. QMetaObject::connectSlotsByName: No matching signal for XXX 原理探究

    问题引出: 在尝试实现<Qt5.9 c++开发指南>混合UI编程章节时,用纯代码形式实现了个小按钮,然后加了个对应的槽函数,运行时就提示了这个信息. 原因探究: 首先查阅官方手册中的说明: ...

  3. iptables系列教程(二)| iptables语法规则

    一个执着于技术的公众号 iptables 命令基本语法 " iptables [-t table] command [链名] [条件匹配] [-j 目标动作] 以下是对 iptables 命 ...

  4. docker 灵活的构建 php 环境

    地址: https://github.com/ydtg1993/server           使用docker搭建灵活的线上php环境 有时候你可能不太需要一些别人已经集成了的包或者镜像      ...

  5. Dnscat2隧道

    0x01 前言   DNS是用来做域名解析的,是连接互联网的关键,故即使是企业内网,在防火墙高度关闭下,也有着很好的连通性,但是黑客却可以通过将其他协议的内容封装再DNS协议中,然后通过DNS请求和响 ...

  6. 并查集——以nuist OJ P1648炼丹术为例

    并查集 定义:并查集是一种树形的数据结构,用于处理一些不相交集合的合并及查询问题 主要构成: 并查集主要由一个整型数组pre[]和两个函数find().join()构成. 数组pre[]记录了每个点的 ...

  7. 零基础学Java第三节(基本输入输出)

    本篇文章是<零基础学Java>专栏的第三篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号[编程攻略] Java程序的命令行参数 我们可以 ...

  8. 【Java面试】Redis存在线程安全问题吗?为什么?

    一个工作了5年的粉丝私信我. 他说自己准备了半年时间,想如蚂蚁金服,结果第一面就挂了,非常难过. 问题是: "Redis存在线程安全问题吗?" 关于这个问题,看看普通人和高手的回答 ...

  9. linux篇-新建svn仓库

    1昨天需要在服务器上新建一个仓库,解决方法是把已有的仓库拷贝出来,库删除在放进去 2然后今天想看看有没有命令的方法 find / -name project 首先查看一下项目的位置 3创建仓库 svn ...

  10. 关于我学git这档子事(3)

    对于如下报错: hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpa ...