Запрос не работает
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 02.01.10 19:34
Оценка: 29 (1)
Есть запрос (на самом деле это редуцированный вариант для воспроизведения проблемы)
var forums =
    srvFrms
        .Where(f => subsFrms.Any(of => of.ID == f.ID))
        .Select(f => new {f.Name, f.Descript, Priority = 0, IsSubscribed = false});

BLT на него ругается (на Any)
Собственно вопрос — что подправить, чтобы заработало?
Стектрейс:
System.ArgumentException: Queryable method call expected. Got 'value(Rsdn.Janus.SubscribeForm+<>c__DisplayClass2).subsFrms.Any(of => (of.ID = f.ID))'.
Имя параметра: info
в BLToolkit.Data.Linq.ExpressionParser`1.<ParseSequence>b__47(ParseInfo`1 pi)
в BLToolkit.Data.Linq.ParseInfo`1.Match(Func`2[] matches)
в BLToolkit.Data.Linq.ExpressionParser`1.ParseSequence(ParseInfo info)
в BLToolkit.Data.Linq.ExpressionParser`1.ParseSubQuery(ParseInfo expr, QuerySource[] queries)
в BLToolkit.Data.Linq.ExpressionParser`1.ParseExpression(ParseInfo parseInfo, QuerySource[] queries)
в BLToolkit.Data.Linq.ExpressionParser`1.ParsePredicate(LambdaInfo lambda, ParseInfo parseInfo, QuerySource[] queries)
в BLToolkit.Data.Linq.ExpressionParser`1.ParseSearchCondition(ICollection`1 conditions, LambdaInfo lambda, ParseInfo parseInfo, QuerySource[] queries)
в BLToolkit.Data.Linq.ExpressionParser`1.ParseWhere(LambdaInfo l, QuerySource select)
в BLToolkit.Data.Linq.ExpressionParser`1.<>c__DisplayClass49.<>c__DisplayClass4d.<ParseSequence>b__1e(ParseInfo`1 seq, LambdaInfo l)
в BLToolkit.Data.Linq.ParseInfoExtension.<>c__DisplayClass5.<IsQueryableMethod>b__2(LambdaInfo p)
в BLToolkit.Data.Linq.ParseInfo.<>c__DisplayClass1c.<CheckIfLambda>b__19(ParseInfo`1 body)
в BLToolkit.Data.Linq.ParseInfo.IsLambda(Func`2[] parameters, Func`2 body, Func`2 func)
в BLToolkit.Data.Linq.ParseInfo.CheckIfLambda(Int32 nparms, Func`2 lambda)
в BLToolkit.Data.Linq.ParseInfoExtension.<>c__DisplayClass5.<IsQueryableMethod>b__1(ParseInfo`1 l)
в BLToolkit.Data.Linq.ParseInfoExtension.IsMethod(ParseInfo`1 pi, Type declaringType, String methodName, Func`2[] args, Func`2 func)
в BLToolkit.Data.Linq.ParseInfoExtension.IsQueryableMethod(ParseInfo`1 pi, Func`3 lambda)
в BLToolkit.Data.Linq.ExpressionParser`1.<>c__DisplayClass49.<ParseSequence>b__1d(ParseInfo`1 pi)
в BLToolkit.Data.Linq.ParseInfo`1.Match(Func`2[] matches)
в BLToolkit.Data.Linq.ExpressionParser`1.ParseSequence(ParseInfo info)
в BLToolkit.Data.Linq.ExpressionParser`1.<>c__DisplayClass49.<>c__DisplayClass4d.<ParseSequence>b__1e(ParseInfo`1 seq, LambdaInfo l)
в BLToolkit.Data.Linq.ParseInfoExtension.<>c__DisplayClass5.<IsQueryableMethod>b__2(LambdaInfo p)
в BLToolkit.Data.Linq.ParseInfo.<>c__DisplayClass1c.<CheckIfLambda>b__19(ParseInfo`1 body)
в BLToolkit.Data.Linq.ParseInfo.IsLambda(Func`2[] parameters, Func`2 body, Func`2 func)
в BLToolkit.Data.Linq.ParseInfo.CheckIfLambda(Int32 nparms, Func`2 lambda)
в BLToolkit.Data.Linq.ParseInfoExtension.<>c__DisplayClass5.<IsQueryableMethod>b__1(ParseInfo`1 l)
в BLToolkit.Data.Linq.ParseInfoExtension.IsMethod(ParseInfo`1 pi, Type declaringType, String methodName, Func`2[] args, Func`2 func)
в BLToolkit.Data.Linq.ParseInfoExtension.IsQueryableMethod(ParseInfo`1 pi, Func`3 lambda)
в BLToolkit.Data.Linq.ExpressionParser`1.<>c__DisplayClass49.<ParseSequence>b__1d(ParseInfo`1 pi)
в BLToolkit.Data.Linq.ParseInfo`1.Match(Func`2[] matches)
в BLToolkit.Data.Linq.ExpressionParser`1.ParseSequence(ParseInfo info)
в BLToolkit.Data.Linq.ExpressionParser`1.<>c__DisplayClass49.<ParseSequence>b__3b(ParseInfo`1 seq)
в BLToolkit.Data.Linq.ParseInfoExtension.<>c__DisplayClass2c.<IsQueryableMethod>b__29(ParseInfo`1 p)
в BLToolkit.Data.Linq.ParseInfoExtension.IsMethod(ParseInfo`1 pi, Type declaringType, String methodName, Func`2[] args, Func`2 func)
в BLToolkit.Data.Linq.ParseInfoExtension.IsQueryableMethod(ParseInfo`1 pi, String methodName, Action`1 seq, Func`2 action)
в BLToolkit.Data.Linq.ExpressionParser`1.<>c__DisplayClass49.<ParseSequence>b__3a(ParseInfo`1 pi)
в BLToolkit.Data.Linq.ParseInfo`1.Match(Func`2[] matches)
в BLToolkit.Data.Linq.ExpressionParser`1.ParseSequence(ParseInfo info)
в BLToolkit.Data.Linq.ExpressionParser`1.<Parse>b__b(ParseInfo`1 pi)
в BLToolkit.Data.Linq.ParseInfo`1.Match(Func`2[] matches)
в BLToolkit.Data.Linq.ExpressionParser`1.Parse(DataProviderBase dataProvider, MappingSchema mappingSchema, Expression expression, ParameterExpression[] parameters)
в BLToolkit.Data.Linq.ExpressionInfo`1.GetExpressionInfo(DataProviderBase dataProvider, MappingSchema mappingSchema, Expression expr)
в BLToolkit.Data.Linq.Table`1.GetExpressionInfo(Expression expression, Boolean cache)
в BLToolkit.Data.Linq.Table`1.get_SqlText()
в BLToolkit.Data.Linq.Query`1.get_SqlText()
... << RSDN@Home 1.2.0 alpha 4 rev. 1331 on Windows 7 6.1.7600.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.