-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Open
Description
query:
from l1 in ss.Set<Level1>()
orderby l1.Id
let inner = (from l2 in l1.OneToMany_Optional1
where l2.Name != "Foo"
let innerL1s = from innerL1 in ss.Set<Level1>()
where innerL1.OneToMany_Optional1.Any(innerL2 => innerL2.Id == l2.Id)
select innerL1.Name
select innerL1s).FirstOrDefault()
select inner.ToList()
exception:
The query contains a projection 'l1 => l1.OneToMany_Optional1
.Where(l2 => l2.Name != "Foo")
.Select(l2 => new {
l2 = l2,
innerL1s = DbSet<Level1>()
.Where(innerL1 => innerL1.OneToMany_Optional1
.Any(innerL2 => innerL2.Id == l2.Id))
.Select(innerL1 => innerL1.Name)
})
.Select(<>h__TransparentIdentifier0 => <>h__TransparentIdentifier0.innerL1s)
.FirstOrDefault()' of type 'IQueryable<string>'. Collections in the final projection must be an 'IEnumerable<T>' type such as 'List<T>'. Consider using 'ToList' or some other mechanism to convert the 'IQueryable<T>' or 'IOrderedEnumerable<T>' into an 'IEnumerable<T>'.
Stack Trace:
QueryableMethodNormalizingExpressionVisitor.VerifyReturnType(Expression expression, ParameterExpression lambdaParameter) line 168
QueryableMethodNormalizingExpressionVisitor.VerifyReturnType(Expression expression, ParameterExpression lambdaParameter) line 147
QueryableMethodNormalizingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) line 124
MethodCallExpression.Accept(ExpressionVisitor visitor)
ExpressionVisitor.Visit(Expression node)
ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
QueryableMethodNormalizingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression) line 127
MethodCallExpression.Accept(ExpressionVisitor visitor)
ExpressionVisitor.Visit(Expression node)
QueryTranslationPreprocessor.NormalizeQueryableMethod(Expression expression) line 84
RelationalQueryTranslationPreprocessor.NormalizeQueryableMethod(Expression expression) line 45
QueryTranslationPreprocessor.Process(Expression query) line 60
RelationalQueryTranslationPreprocessor.Process(Expression query) line 54
QueryCompilationContext.CreateQueryExecutor[TResult](Expression query) line 174
Database.CompileQuery[TResult](Expression query, Boolean async) line 72
QueryCompiler.CompileQueryCore[TResult](IDatabase database, Expression query, IModel model, Boolean async) line 114
<>c__DisplayClass9_0`1.<Execute>b__0() line 98
CompiledQueryCache.GetOrAddQuery[TResult](Object cacheKey, Func`1 compiler) line 78
QueryCompiler.Execute[TResult](Expression query) line 94
EntityQueryProvider.Execute[TResult](Expression expression) line 81
EntityQueryable`1.GetEnumerator() line 93
List`1.ctor(IEnumerable`1 collection)
mwwhited, ayoung-cforp, PavelFischerCoupa, ArrowCase and aayjaychan