前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#进阶-LINQ表达式总结

C#进阶-LINQ表达式总结

作者头像
Damon小智
修改2024-02-07 16:50:33
850
修改2024-02-07 16:50:33
举报
文章被收录于专栏:全栈文档库全栈文档库

LINQ(语言集成查询-language intergrated query)是一款很常用的扩展包,支持C#和Java,在系统进行查询数据的动作时,相较于执行数据库层面的SQL语句,后端层面的LINQ运行起来会更加高效稳定,可以极大缩短每次与数据库交互的时间,增加系统功能的稳定性,提高查询效率。本篇文章是LINQ的使用教程,用LINQ模仿对应SQL语句的执行效果。

?

目录:

章节一:基础语法Ⅰ(Select、OrderBy、Count、Average、Sum、Max、Min)

章节二:基础语法Ⅱ(Any、All、Single、First、Last、Skip、Take、Top)

章节三:分组查询 (GroupBy)

章节四:多表查询 Ⅰ(交集、并集、差集、去重)

章节五:多表查询 Ⅱ(Join连接查询)

章节六:投影

章节七:LINQ实现对集合的增删改查


准备工作:

我们创建User对象和包含User对象的集合,后面以此为例。

代码语言:javascript
复制
class User
{
    public int id { get; set; } 
    public string name { get; set; } 
    public bool gender { get; set; }//male: true; female: fasle
    public int age { get; set; }
    public string occupation { get; set; } //职业
}
代码语言:javascript
复制
List<User> list = new List<User>()
{
    new User { id = 1, name = "Zhang Long", age = 38, gender = true, occupation = "Teacher"},
    new User { id = 2, name = "Zhang Jin", age = 18, gender = false, occupation = "Student"},
    new User { id = 3, name = "Zhang Shuai", age = 38, gender = false, occupation = "Teacher"},
    new User { id = 4, name = "Liu Guangzhi", age = 38, gender = false, occupation = "Doctor"},
    new User { id = 5, name = "Liu Ziming", age = 38, gender = true, occupation = "Doctor"},
    new User { id = 6, name = "Liu Shuai", age = 29, gender = false, occupation = "Doctor"},
    new User { id = 7, name = "Liu Jin", age = 21, gender = true, occupation = "Builder"},
    new User { id = 8, name = "Jiang Long", age = 38, gender = true, occupation = "Builder"},
    new User { id = 9, name = "Hu Ziming", age = 21, gender = true, occupation = "Student"},
    new User { id = 10, name = "Hu Jin", age = 21, gender = false, occupation = "Student"}
};
linq002 - C#进阶-LINQ表达式总结
linq002 - C#进阶-LINQ表达式总结

后面大家根据自己的需要跳转到各个章节学习!


额外准备工作(章节四、五、七):

代码语言:javascript
复制
class Salary
{
    public int id { get; set; } 
    public int user_id { get; set; } 
    public string name { get; set; } 
    public double salary { get; set; }
    public bool active { get; set; }
    public string occupation { get; set; } //职业
}
代码语言:javascript
复制
List<Salary> list = new List<Salary>()
{
    new Salary { id = 1,  user_id = 1, name = "Zhang Long", salary = 7800, active = true, occupation = "Teacher"},
    new Salary { id = 2,  user_id = 2, name = "Zhang Jin", salary = 1500, active = true, occupation = "Student"},
    new Salary { id = 3,  user_id = 3, name = "Zhang Shuai", salary = 8800, active = false, occupation = "Teacher"},
    new Salary { id = 4,  user_id = 4, name = "Liu Guangzhi", salary = 12800, active = true, occupation = "Doctor"},
    new Salary { id = 5,  user_id = 5, name = "Liu Ziming", salary = 13600, active = true, occupation = "Doctor"},
    new Salary { id = 6,  user_id = 6, name = "Liu Shuai", salary = 29000, active = false, occupation = "Doctor"},
    new Salary { id = 7,  user_id = 7, name = "Liu Jin", salary = 7000, active = true, occupation = "Builder"},
    new Salary { id = 8,  user_id = 8, name = "Jiang Long", salary = 8500, active = false, occupation = "Builder"},
    new Salary { id = 9,  user_id = 9, name = "Hu Ziming", salary = 2100, active = true, occupation = "Student"},
    new Salary { id = 10,  user_id = 10, name = "Hu Jin", salary = 1300, active = true, occupation = "Student"}
};
Join001 2 - C#进阶-LINQ表达式总结
Join001 2 - C#进阶-LINQ表达式总结

Damon_Liu

Damon, Chinese, Liu Guangzhi, Software development engineer, CSDN quality creator, Ali Cloud expert blogger, Microsoft Technology Associate, Good at C#, Java, PHP, Python, etc, Love sports, Workaholic, Communist.

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com