首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Asp.Net Core 扩展 Linq,简化自定义

前言 -为什么需要扩展 Linq 方法 Linq 在 .net 中使用是比较多的,而微软开发的 linq 相关函数无法满足实际项目开发中的需求,我们需要自己来扩展一些方法。...c# 扩展方法 在 Asp.Net Core 开发中或者其他的后端开发中都会有一个需求(尤其对于中台或者后台管理),那就是展示数据列表;当然不是普普通通的数据列表展示,而是需要进行排序、分页、查询关键字来获取列表...普通查询 对于 Linq 查询来说,Where 和 OrderBy 使用时需要直接点出来属性或者字段才行,如下所示: // 数据结构 public class ArticleTag { public...通过 id 来进行排序 var result = articleTags.Where(p => p.Name.Contains("Admin")).OrderBy(p => p.Id); } 而所谓的一些限制...扩展执行排序,查询,分页功能 item1: 未分页结果,item2:分页后的结果 /// ///

1.7K10
您找到你想要的搜索结果了吗?
是的
没有找到

Linq基础知识小记二

,通过一段实例,介绍Linq的链式查询.需求如下:找出字符串数组中含有字母e的字符穿,并按长度排序,最后将结果转为大写.代码如下: string[] names = {"James","Kobe","Curry...OrderBy:按照Lambda制定的规则对数据集合进行排序....(n=>n).First(n => n > 500);//对数组进行排序,排序后找出大于500的第一个数 int elementAt = numbers.ElementAt(2);//找出位于数组第三个的数...关于类似的方法还有很多,推荐去研究下System.Linq.Enumerable类 2、Linq查询表达式语法 Linq查询表达式语法写出的查询比较类似与Sql语句,是C#3.0加入的,虽然Linq查询表达式看上去类似于...查询表达式总是已From子句开始,From子句定义了查询的范围变量,改变量其实就是对数据集合的一个遍历,就像foreach语句那样. ?

1.3K70

Wijmo 更优美的jQuery UI部件集:服务器端Grid魔法

什么苦力活要交给服务器呢?假设你有一百万行的数据集,这些数据要是发送到客户端,然后再进行排序/分页/过滤,那会是相当可观的一堆流量。...关于排序,你也许已经被巨复杂的IF..ELSE表达式折磨得疲惫不堪。所有这些逻辑仅仅是为了判断我们要基于哪一列进行排序以及按照何种方式(升序或者降序)进行排列,同时应用LINQ过滤。...{ public List Items { get; set; } public int TotalRowCount { get; set; } } 客户端 现在服务器端已经配置好了,我们需要改变一点...这里dynamic关键字告诉Wijmo,服务器会接受排序,过滤以及分页请求。如果它被设置为false或者从来都没有设置过,Wijmo不会发送我们之前提到的请求参数。...这和你之前曾经看过的没有什么不同。唯一使得服务器收集数据的设置就是datasource。

91060

C#3.0新增功能09 LINQ 标准查询运算符 04 运算

orderby Enumerable.OrderByQueryable.OrderBy OrderByDescending 按降序对值排序。...Enumerable.ReverseQueryable.Reverse 查询表达式语法示例 主要排序示例 主要升序排序 下面的示例演示如何在 LINQ 查询中使用 orderby 子句按字符串长度对数组中的字符串进行升序排序...下面的示例演示如何在 LINQ 查询中使用 orderby descending 子句按字符串的第一个字母对字符串进行降序排序。...次要升序排序 下面的示例演示如何在 LINQ 查询中使用 orderby 子句对数组中的字符串执行主要和次要排序。...下面的示例演示如何在 LINQ 查询中使用 orderby descending 子句按升序执行主要排序,按降序执行次要排序

9.6K20

Linq基础知识小记三

Kobe", "Curry", "Durrent" }; IEnumerable result = names.OrderBy(n => n.Split().Last()); n.Split...2、本地查询和解释查询 本地查询(Linq To Object)和解释查询(Linq To Sql)对于子查询的处理方式不一样. (1)、本地查询(Linq To Object)对于外部查询的每一次循环...解释查询处理子查询的方式和本地查询就截然不同,在解释查询中,外部查询和子查询是作为一个单元进行处理的,这样就只需要联结一次数据库就行了,所以上面的案例适合解释查询,不适合本地查询. (3)、子查询不会改变...Linq延迟执行的特性,因为子查询总是间接调用的. 2、Linq查询创建攻略 常用的Linq查询方式有三种两种已经在前面用到过了,下面有个案例,去除一个字符串数组中的所有的元音字母,然后对长度大于1的元素进行按长度排序...3、数据转换 Linq的数据转换,也叫结果投影。

89080

初级.NET程序员,你必须知道的EF知识和经验

为什么StudentId有值,而Studet为null?因为使用code first,需要设置导航属性为virtual,才会加载延迟加载数据。 ?...看起来这条语句并没有什么实际意义,然而这是AutoMapper生成的sql,同时我也表示不理解为什么和EF生成的不同) 这样做的好处? 避免在循环中访问导航属性多次执行sql语句。...与OrderBy、ThenBy对应的降序有OrderByDescending、ThenByDescending。 看似好像很完美了。其实不然,我们大多数情况排序是动态的。...要是OrderBy可以直接传字符串??? 解决方案: guget下载System.Linq.Dynamic 导入System.Linq.Dynamic命名空间 编写OrderBy的扩展方法 ?...至于官方EF为什么没有提供这样的支持就不知道了。

1.8K100

EntityFramework数据持久化复习资料5、LINQ概述与应用(超终点)

·返回列表 基础分组示例代码: 分组示例代码: 4、LINQ排序·返回列表 5、聚合查询 6、多表联合查询 Users列表函数 UsersDetalis列表函数 7、多表联合查询基础示例 链接步骤: 8...那么EntityFramework的作用是什么? 我的理解就是大大简化数据库操作的,举个例子:在没有使用EF前,我们要编写复杂的SQL语句,而使用了EF之后,将会减少编写复杂的SQL语句过程。...into 提供一个标识符,它可以充当对join、group或select子句结果的引用 orderby 对查询出的元素执行排序(ascending/descending) join 按照两个指定匹配条件对等连接两个数据源...) { Console.WriteLine(item); } 遍历效果: 4、LINQ排序·返回列表 这里的关键字是orderby,正序是【ascending】倒序是【descending】。...9、多表查询·排序 倒序 orderby users.age descending 正序 orderby users.age ascending //用户表 var list = initUsers

2.1K20

Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)

为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了。但是只支持了一些简单的、常用的条件查询,支持的力度很有限。...接下来,本文将说明 Rafy 框架原来支持的 Linq 语法,以及最新加入的聚合查询支持及用法。...string.IsNullOrEmpty(nameKeywords)) { q = q.Where(e => e.Name.Contains(nameKeywords)); } //排序...方法:Where、OrderBy、OrderByDescending、ThenBy、ThenByDescending、Count。...[Name] ASC 头晕,越来越复杂……不过经过测试,上面都没什么问题。 下面是一个单元测试生成的分页、复杂聚合查询的 SQL,贴上来观赏下: SELECT TOP 2 [T0].

2.7K70

LINQ to SQL中使用Translate方法以及修改查询用SQL

Translate方法除了方便之外,生成的对象也会自动Attach到DataContext中,也就是说,我们可以继续对获得的对象进行操作,例如访问Item对象的Comments属性时会自动去数据库获取数据,改变对象属性之后调用...此外,这里有两个细节值得一提: 为什么调用ExecuteReader方法时要传入CommandBehavior.CloseConnection:LINQ to SQL中的DataContext对象有个特点...在调用Translate方法后为什么要直接调用ToList方法:因为GetItemsForListing方法的返回值是List,这是原因之一。...因此,如果您使用了ColumnAttribute中的Name属性改变了数据库字段名与实体对象属性名的映射关系,那么在创建匿名对象的时候还是要使用数据库的字段名,而不是实体对象名,如下: public static...改变LINQ to SQL所执行的SQL语句   按照一般的做法我们很难改变LINQ to SQL查询所执行的SQL语句,但是既然我们能够将一个query转化为DbCommand对象,我们自然可以在执行之前改变它的

4.8K50

.NET中那些所谓的新语法之四:标准查询运算符与LINQ

标准查询运算符:[ C# 3.0/.NET 3.x 新增特性 ] 标准查询运算符提供了包括筛选、投影、聚合、排序等功能在内的查询功能,其本质是定义在System.Linq.Enumerable类中的50...1.3 排序小生OrderBy方法   说到排序,我们马上想起了SQL中的order by语句,而标准查询运算符中也为我们提供了OrderBy这个方法,值得一提的就是我们可以进行多条件的排序,因为OrderBy...于是,我们又想起了我们的“滑板鞋”—Reflector或ILSpy,去看看编译器为我们做了什么事!   ...(2)再来看看排序条件查询的代码,也是生成了对应的标准查询运算符,即OrderBy扩展方法: ?   ...(3)总结:LINQ编译后会生成对应的标准查询运算符(查询->Where,排序->OrderBy,连接->Join,分组->GroupBy),所以LINQ表达式其实就是类似于SQL风格的一种更加友好的语法糖而已

2K30
领券