首页 / Entity Framework / 正文

C#/.NET Core应用程序开发中使用Entity Framework根据实体属性名称字符串对查询动态排序

119 发布于: 2019-03-29 16:13 读完约需 2 分钟

在.NET/.NET Core的应用程序开发过程中,使用Entity Framework进行数据持久化或者查询是很多.NET开发者的选择,Entity Framework为我们封装了实体和数据表之间的映射,也提供了非常丰富的接口,.NET开发人员可以方便,快速地完成一个查询和排序操作。比如根据实体属性进行排序:

但在实际开发中,很多情况下我们的排序字段和排序方向都是动态地,这种情况下我们再按以上的排序方式实现,就得写条件来判断了,如:

这种实现方式从结果上来说是可以的,但从实现过程上是很老火的。假如有100种情况,我们得写100个判断吗?

显然,作为开发者是不允许这种情况发生的,本文就为大家分享如何根据实体属性名称实现动态Entity Framework查询排序的。

首先,创建一个静态扩展方法如下:

调用示例:

如果要让这个扩展支持ThenBy()这样的方法,则再对以上静态类进行扩展,如下:

参考链接: https://stackoverflow.com/questions/16013807/unable-to-sort-with-property-name-in-linq-orderby/22227975

郑重申明:本文未经许可,禁止任何形式转载

上一篇: .NET/C#应用程序开发Dapper ORM中使用工作单元(Unit Of Work)完成事务操作

下一篇: C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载(极速,简洁)

本文永久链接码友网 » C#/.NET Core应用程序开发中使用Entity Framework根据实体属性名称字符串对查询动态排序

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册