tnblog
首页
视频
资源
登录

自定义 OrderBy 实现升降序

6818人阅读 2021/4/1 10:19 总访问:129266 评论:0 收藏:0 手机
分类: MVC
  1.   public static class EXOrderBy
  2.     {
  3.         //1
  4.         public static IQueryable<TSource> BFMyOrderBy<TSource>(this IQueryable<TSource> source, string Waymane(排序字段名), string stat(点击状态,如果是asc就升序不是就降序))
  5.         {
  6.             if (Waymane != null)
  7.             {
  8.                 //获取对象里面字段里面的属性
  9.                 var type = typeof(TSource).GetProperty(Waymane).PropertyType;
  10.                 //指定类里面的指定方法
  11.                 var method = typeof(EXOrderBy).GetMethod((stat=="asc")?"OrderbyAsc":"OrderbyDAsc");
  12.                 //给该方法添加需要的属性
  13.                 method = method.MakeGenericMethod(typeof(TSource) ,type);
  14.                 //强制转换并执行该方法
  15.                 source = (IQueryable<TSource>)method.Invoke(nullnew object[] { source, Waymane });        
  16.               
  17.             }
  18.             return source;
  19.         }
  20.         //2
  21.         public static IQueryable<TSource> OrderbyAsc<TSource,M>( IQueryable<TSource> source, string Waymane)
  22.         {
  23.            
  24.             source = source.OrderBy(LAMDBA<TSource, M>(source, Waymane));
  25.             return source;
  26.         }
  27.         //2
  28.         public static IQueryable<TSource> OrderbyDAsc<TSource, M>(IQueryable<TSource> source, string Waymane)
  29.         {                
  30.             source = source.OrderByDescending(LAMDBA<TSource,M>(source, Waymane));
  31.             return source;
  32.         }
  33.         //3
  34.         public static Expression<Func<TSource,M>> LAMDBA<TSource, M>(IQueryable<TSource> source, string Waymane)
  35.         {
  36.             //表达式树创建lamdba表达式里面的 a=>a.字段 中的 a(自己命名)
  37.             var left = Expression.Parameter(typeof(TSource), "a");
  38.             //表达式树创建lamdba表达式里面的 a=>a.字段 中的 字段 (自己命名)
  39.             var body = Expression.Property(left, Waymane);
  40.             //生成 lmadba表达式 a=>a.字段
  41.             Expression<Func<TSource, M>> lamdba = Expression.Lambda<Func<TSource, M>>(body, left);
  42.             return lamdba;
  43.         }
  44.     }


评价

jQuery右击自定义显示菜单+自定义换肤

结合右击显示菜单来做的效果图:代码:&lt;!doctypehtml&gt; &lt;html&gt; &lt;head&gt; &lt;metacharset=&quot;gbk&quo...

Oracle自定义函数的简单使用

一.最最最简单的返回一个数字的函数createorreplacefunctionfun_show returnint--申明返回值 as begin return1; end;...

net core自定义路由

net core自定义路由和.net framework中差不多,例如在.net framework中的自定义路由routes.MapRoute( name:&quot;ArticleS...

wcf自定义用户名密码验证

一:创建证书 makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=TestServer -sky exchange -pe二;建立wcf服务 配置文...

winform+wcf(netTcpBinding)双向通讯 自定义用户名密码验证

一:创建证书 使用vs的命令创建 makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=TestServer -sky exchange -p...

百度编辑器自定义模板

前言:有些时候我们想要一些固定格式的模板,然后在这个模板的基础上去进行编写可以提升我们的效率,就像微信发布图文消息...

自定义事件

event注意事项: 1.只能使用+=或者-=。 2.加不加对代码没有影响示例1:public event Action ac; public void Start(A...

.net core 自定义Error规则

创建并添加自定义的错误处理事件namespaceAiDaSiBlog.API.Extensions { publicstaticclassExceptionHandlingExtensions ...

net core webapi运用自定义json格式

接上一篇net core api json相关,全局配置,时间格式化,首字母小写等:http://www.tnblog.net/aojiancc2/article/details/2...

微信各公众号自定义菜单接口学习

http请求方式:POST(请使用https协议)https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKENACCESS...

后台调用菜单接口+自定义菜单

假如有一天你喝醉了,一个人走在街头,会歇斯底里的喊出谁的名字?时光如流水般逝去,站在青春的末稍,扭过头,观望曾经走...

identityServer4携带自定义的Claim

identityServer4要携带自定义的Claim,仅仅传递Claim是不行的还需要实现IProfileService方法才行publicclassImplicitProfil...

NET Core 页面中使用户依赖注入+自定义中间件

记录一下 NET CORE 的自定义中间件,我们用的MVC在CORE中就是一个中间件,想用的时候添加就好了,今天简单记录一下CORE添加...

Net Core使用依赖注入应用过滤器+自定义中间件

圣诞节快乐过什么圣诞节哦,圣诞老人已经被我抓起来了。我们今天主要讲的是NET Core中的依赖注入数据,使用过滤器调用+自定...

.net core 3.0 gRPC自定义服务

服务器端新建gRPC项目右键Protos文件夹--&gt;新建一个.proto,选择协议缓冲区文件,用于描述gRPC的消息和服务名字随便取,...

editor.md自定义工具栏

editor.md自定义工具栏很简单,下载后例子自带了,怎么配置和百度编辑器的很类似也是返回一个数组配置即可你可能不知道这些...
.
排名
28
文章
25
粉丝
8
评论
0
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术