前言:前言不重要,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 】和留言,谢谢。

最新文章

  1. Cleaver快速制作网页PPT
  2. 将 xunit.runner.dnx 的 xml 输出转换为 Nunit 格式
  3. 浏览器-05 HTML和CSS解析1
  4. js基础练习一之tab选项卡
  5. js上传压缩图片
  6. ie8 iframe去掉边框的属性
  7. git 高级命令
  8. Linux命令之cut
  9. bzoj1028
  10. nginx 几个参数
  11. 今天就这么乱糟糟的过啦~刚刚接触html,就稍微写了一下,明天加油,今天直接贴图
  12. contenteditable模仿textarea文本框
  13. 软件工程第三周的学习报告 html<input> final finally finalize 的比较 BigInteger
  14. java数组及数组的插入,删除,冒泡算法
  15. ArcGIS Pro开发Web3D应用(3)——Server/Portal授权服务开发
  16. LRU缓存,大神写的,值得借鉴
  17. 【WordCount】实现(重做)
  18. Cocos2d-x V2.x版本对64bit的支持
  19. Android代码内存优化建议-Android官方篇
  20. Mirror--镜像使用的工作线程数

热门文章

  1. spring盒springMVC整合父子容器问题:整合Spring时Service层为什么不做全局包扫描详解
  2. 团队Arpha4
  3. VUE3 之 自定义指令的实现 - 这个系列的教程通俗易懂,适合新手
  4. c++:-3
  5. Java-GUI 编程之 JList、JComboBox实现列表框
  6. c++:-5
  7. Centos 7以上安装Docker (亲测有效)
  8. [ Module ] 环境变量管理工具 Module 安装和使用
  9. 【数据库】MySQL如何删除索引
  10. 2. springboot加载配置参数顺序