File tree Expand file tree Collapse file tree 2 files changed +25
-1
lines changed
NHibernate.Test/Linq/ByMethod Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -153,5 +153,29 @@ public void OrderByDoesNotFilterResultsOnJoin()
153
153
// We to ToList() first or it skips the generation of the joins.
154
154
Assert . AreEqual ( allAnimals . ToList ( ) . Count ( ) , orderedAnimals . ToList ( ) . Count ( ) ) ;
155
155
}
156
+
157
+ [ Test ]
158
+ public void OrderByWithSelfReferencedSubquery1 ( )
159
+ {
160
+ //NH-3044
161
+ var result = ( from order in db . Orders
162
+ where order == db . Orders . OrderByDescending ( x => x . OrderDate ) . First ( x => x . Customer == order . Customer )
163
+ orderby order . Customer . CustomerId
164
+ select order ) . ToList ( ) ;
165
+
166
+ AssertOrderedBy . Ascending ( result . Take ( 5 ) . ToList ( ) , x => x . Customer . CustomerId ) ;
167
+ }
168
+
169
+ [ Test ]
170
+ public void OrderByWithSelfReferencedSubquery2 ( )
171
+ {
172
+ //NH-3044
173
+ var result = ( from order in db . Orders
174
+ where order == db . Orders . OrderByDescending ( x => x . OrderDate ) . First ( x => x . Customer == order . Customer )
175
+ orderby order . ShippingDate descending
176
+ select order ) . ToList ( ) ;
177
+
178
+ AssertOrderedBy . Descending ( result . Take ( 5 ) . ToList ( ) , x => x . ShippingDate ) ;
179
+ }
156
180
}
157
181
}
Original file line number Diff line number Diff line change @@ -121,7 +121,7 @@ private void ExecuteAddOrderBy(HqlTreeNode orderBy)
121
121
if ( orderBy == null )
122
122
return ;
123
123
124
- if ( ! _root . NodesPreOrder . OfType < HqlOrderBy > ( ) . Any ( ) )
124
+ if ( ! _root . NodesPreOrder . Any ( x => x == orderBy ) )
125
125
_root . As < HqlQuery > ( ) . AddChild ( orderBy ) ;
126
126
}
127
127
You can’t perform that action at this time.
0 commit comments