File tree Expand file tree Collapse file tree 2 files changed +30
-30
lines changed Expand file tree Collapse file tree 2 files changed +30
-30
lines changed Original file line number Diff line number Diff line change @@ -70,36 +70,7 @@ public static IOrderedQueryable<T> OrderBy<T>(
70
70
{
71
71
try
72
72
{
73
- selector = $ "{ selector } ";
74
-
75
- if ( selector . Contains ( "=>" ) )
76
- {
77
- var identifierName = selector . Split ( "=>" ) [ 0 ] ;
78
-
79
- selector = selector . Replace ( $ "{ identifierName } =>", "" ) . Trim ( ) ;
80
-
81
- string methodAsc = "OrderBy" ;
82
- string methodDesc = "OrderByDescending" ;
83
-
84
- Expression expression = source . Expression ;
85
-
86
- foreach ( var part in selector . Split ( "," ) )
87
- {
88
- var lambda = ExpressionParser . ParseLambda < T > ( $ "{ identifierName . Trim ( ) } => { part } ") ;
89
-
90
- expression = Expression . Call (
91
- typeof ( Queryable ) , part . Trim ( ) . ToLower ( ) . Contains ( " desc" ) ? methodDesc : methodAsc ,
92
- new Type [ ] { source . ElementType , lambda . ReturnType } ,
93
- expression , Expression . Quote ( lambda ) ) ;
94
-
95
- methodAsc = "ThenBy" ;
96
- methodDesc = "ThenByDescending" ;
97
- }
98
-
99
- return ( IOrderedQueryable < T > ) source . Provider . CreateQuery ( expression ) ;
100
- }
101
-
102
- return ( IOrderedQueryable < T > ) QueryableExtension . OrderBy ( ( IQueryable ) source , selector ) ;
73
+ return QueryableExtension . OrderBy ( source , selector ) ;
103
74
}
104
75
catch ( Exception ex )
105
76
{
Original file line number Diff line number Diff line change @@ -108,6 +108,35 @@ internal static string RemoveVariableReference(string expression)
108
108
/// <returns>A <see cref="IQueryable{T}"/> whose elements are sorted according to the specified <paramref name="selector"/>.</returns>
109
109
public static IOrderedQueryable < T > OrderBy < T > ( this IQueryable < T > source , string selector = null )
110
110
{
111
+ selector = $ "{ selector } ";
112
+
113
+ if ( selector . Contains ( "=>" ) )
114
+ {
115
+ var identifierName = selector . Split ( "=>" ) [ 0 ] ;
116
+
117
+ selector = selector . Replace ( $ "{ identifierName } =>", "" ) . Trim ( ) ;
118
+
119
+ string methodAsc = "OrderBy" ;
120
+ string methodDesc = "OrderByDescending" ;
121
+
122
+ Expression expression = source . Expression ;
123
+
124
+ foreach ( var part in selector . Split ( "," ) )
125
+ {
126
+ var lambda = ExpressionParser . ParseLambda < T > ( $ "{ identifierName . Trim ( ) } => { part } ") ;
127
+
128
+ expression = Expression . Call (
129
+ typeof ( Queryable ) , part . Trim ( ) . ToLower ( ) . Contains ( " desc" ) ? methodDesc : methodAsc ,
130
+ new Type [ ] { source . ElementType , lambda . ReturnType } ,
131
+ expression , Expression . Quote ( lambda ) ) ;
132
+
133
+ methodAsc = "ThenBy" ;
134
+ methodDesc = "ThenByDescending" ;
135
+ }
136
+
137
+ return ( IOrderedQueryable < T > ) source . Provider . CreateQuery ( expression ) ;
138
+ }
139
+
111
140
return ( IOrderedQueryable < T > ) OrderBy ( ( IQueryable ) source , selector ) ;
112
141
}
113
142
You can’t perform that action at this time.
0 commit comments