Skip to content

Commit eb384ec

Browse files
authored
Merge pull request #235 from servicetitan/upstream/fix_WellKnownMembers.Queryable
Fix ambiguity in initializing WellKnownMembers.Queryable members because of new IQueryable extension overloads in .NET6
2 parents ccf7830 + 97b568c commit eb384ec

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

Orm/Xtensive.Orm/Orm/Linq/WellknownMembers.Queryable.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@ static Queryable()
176176
}
177177
break;
178178
case nameof(System.Linq.Queryable.ElementAt):
179-
if (parameters.Length == 2) {
179+
if (parameters.Length == 2 && parameters[1].ParameterType == WellKnownTypes.Int32) {
180180
ElementAt = methodInfo;
181181
}
182182
break;
183183
case nameof(System.Linq.Queryable.ElementAtOrDefault):
184-
if (parameters.Length == 2) {
184+
if (parameters.Length == 2 && parameters[1].ParameterType == WellKnownTypes.Int32) {
185185
ElementAtOrDefault = methodInfo;
186186
}
187187
break;
@@ -205,7 +205,7 @@ static Queryable()
205205
case 1:
206206
FirstOrDefault = methodInfo;
207207
break;
208-
case 2:
208+
case 2 when parameters[1].ParameterType.IsAssignableTo(WellKnownTypes.Expression):
209209
FirstOrDefaultWithPredicate = methodInfo;
210210
break;
211211
}
@@ -264,7 +264,7 @@ static Queryable()
264264
case 1:
265265
LastOrDefault = methodInfo;
266266
break;
267-
case 2:
267+
case 2 when parameters[1].ParameterType.IsAssignableTo(WellKnownTypes.Expression):
268268
LastOrDefaultWithPredicate = methodInfo;
269269
break;
270270
}
@@ -284,7 +284,7 @@ static Queryable()
284284
case 1:
285285
Max = methodInfo;
286286
break;
287-
case 2:
287+
case 2 when parameters[1].ParameterType.IsAssignableTo(WellKnownTypes.Expression):
288288
MaxWithSelector = methodInfo;
289289
break;
290290
}
@@ -294,7 +294,7 @@ static Queryable()
294294
case 1:
295295
Min = methodInfo;
296296
break;
297-
case 2:
297+
case 2 when parameters[1].ParameterType.IsAssignableTo(WellKnownTypes.Expression):
298298
MinWithSelector = methodInfo;
299299
break;
300300
}
@@ -362,7 +362,7 @@ static Queryable()
362362
case 1:
363363
SingleOrDefault = methodInfo;
364364
break;
365-
case 2:
365+
case 2 when parameters[1].ParameterType.IsAssignableTo(WellKnownTypes.Expression):
366366
SingleOrDefaultWithPredicate = methodInfo;
367367
break;
368368
}
@@ -398,7 +398,7 @@ static Queryable()
398398
}
399399
break;
400400
case nameof(System.Linq.Queryable.Take):
401-
if (parameters.Length == 2) {
401+
if (parameters.Length == 2 && parameters[1].ParameterType == WellKnownTypes.Int32) {
402402
Take = methodInfo;
403403
}
404404
break;

0 commit comments

Comments
 (0)