LINQ
文章平均质量分 74
C# LINQ语法与应用
GISer_Qing
这个作者很懒,什么都没留下…
展开
-
ASP.NET Core 6.0学习笔记(八)—LINQ查询语法
注意:在LINQ中,内连接与左外连接的区别就是DefaultIfEmpty()方法,内连接遇到Empty会直接不返回这条数据,但是在左外连接中会需要返回对应的数据;注意,在原始数据中,Category中CategoryId为4的数据以及Product中CategoryId为7的数据没有匹配,所有没有出现在结果集当中。唯一的区别在于组连接在内连接的基础上添加了into关键字,将连接后的数据按照第一个表数据进行分组。左外连接与组连接的区别是在组连接的into的基础上添加了DefaultIfEmpty方法。原创 2024-06-03 14:51:13 · 358 阅读 · 0 评论 -
ASP.NET Core 6.0学习笔记(B站杨中科版)(四)—LINQ筛选与查询
1.方法声明:IQueryable WhereIf(this IQueryable source,bool condition,Expression predicate)2.参数:(1)this IQueryable source:扩展方法所在类型(2)bool condition:执行条件,若为真执行后面的predicate表达式,反之不执行。原创 2024-05-28 09:51:00 · 1779 阅读 · 0 评论 -
ASP.NET Core6.0学习笔记(九)——Enumerable
1.Enumerable是“序列”。它与集合是两个概念。LINQ中所有的内容都是针对于某一元素序列执行操作。2.在LINQ中,其核心思想就是“如何生成序列的下一项”——创建一个枚举器,获取输入并创建枚举3.LINQ的工作机制:“流式处理”——从集合中逐个拿取数据并执行对应的操作。若碰到Where等语句,不符合条件的数据将不会被拉取到内存当中,提升性能。保证了LINQ不会因为过大的数据量而崩溃。流式处理运算符将持续读取源元素直到可以生成结果元素。这意味着可能要读取多个源元素才能生成一个结果元素。原创 2024-06-04 10:54:49 · 821 阅读 · 0 评论 -
ASP.NET Core 6.0 学习笔记(B站杨中科版)(三)—LINQ简介
其中,Where(Lambda expressiom)是一个扩展方法,它扩展了数组与集合中的相关方法。该方法会遍历数组中的每个元素,并调用a=>a>4表达式来判断表达式的结果是否为true。若为true,则返回这个元素。2.LINQ的背景:LINQ到底做了什么——手动实现LINQ。1.目的:使得数据处理“傻瓜化”需求:取出数组中所有大于4的数。原创 2024-05-27 15:33:26 · 224 阅读 · 0 评论 -
ASP.NET Core 6.0学习笔记(五)—LINQ排序与分组
1.数据分组的API:IEnumerable GroupBy(Lambda expression) :分组所需参数为Lambda表达式,返回值是IEnumerable ,即返回值是分完之后的组(IGrouping)所构成的集合(IEnumerable)。1.在LINQ中,可以根据多个条件依次进行排序,例如,根据Salary字段升序排序后,又按照Age字段降序排序。原创 2024-05-29 11:36:07 · 779 阅读 · 0 评论 -
ASP.NET Core6.0学习笔记(七)—降维投影SelectMany
这两个函数的参数的意义同前。将序列中的每一个元素按照selector指定的函数投影到到IEnumerable中,然后对于IEnumerable中的每一个元素,都执行第三个参数指定的函数,并将执行函数后返回的结果组合为一个简单的一维序列返回。将序列中的每一个元素映射到IEnumerable中,并能够额外接收一个int型参数index,即当前元素的索引值,并将索引值与序列作为参数执行第二个参数所指定的函数,返回最终结果。应用场景2:将集合中的每个元素映射为一个集合,并将这些映射后的集合合并为一个新的集合。原创 2024-05-31 10:15:46 · 915 阅读 · 0 评论 -
ASP.NET Core6.0学习笔记(六)—LINQ投影函数Select
1.Select()方法用于对数据进行查询,参数为Lambda表达式,可以将某一集合中的某些项提取出来,经操作后组合成新的集合。IEnumerable 集合对象.Select((x,index)=>Lambda expression)IEnumerable 集合对象.Select(x=>Lambda expression)数据库上下文对象名(集合).表名.Select(Lambda expression)对象名=>new(别名1=对象名.列名1,别名2=对象名.列名2……原创 2024-05-30 15:41:38 · 452 阅读 · 0 评论