Mercurial > pub > bltoolkit
comparison Source/Data/Linq/Builder/ExpressionBuilder.cs @ 5:f7d63a092920
Исправлено условие Where в тех случаях, когда репозитарий не является генериком
| author | cin |
|---|---|
| date | Tue, 10 Mar 2015 16:02:11 +0300 |
| parents | f990fcb411a9 |
| children | 11b6da379593 |
comparison
equal
deleted
inserted
replaced
| 4:f757da6161a1 | 5:f7d63a092920 |
|---|---|
| 690 } | 690 } |
| 691 | 691 |
| 692 if (sequence != method.Arguments[0] || predicate != method.Arguments[1]) | 692 if (sequence != method.Arguments[0] || predicate != method.Arguments[1]) |
| 693 { | 693 { |
| 694 var methodInfo = method.Method.GetGenericMethodDefinition(); | 694 var methodInfo = method.Method.GetGenericMethodDefinition(); |
| 695 var genericType = sequence.Type.GetGenericArguments()[0]; | 695 var queryableType = sequence.Type.GetInterface(typeof(IQueryable<>).Name); |
| 696 var genericType = queryableType.GetGenericArguments()[0]; | |
| 696 var newMethod = methodInfo.MakeGenericMethod(genericType); | 697 var newMethod = methodInfo.MakeGenericMethod(genericType); |
| 697 | 698 |
| 698 method = Expression.Call(newMethod, sequence, predicate); | 699 method = Expression.Call(newMethod, sequence, predicate); |
| 699 | 700 |
| 700 if (exprs.Count > 0) | 701 if (exprs.Count > 0) |
