Quantcast
Channel: Effort - Entity Framework Unit Testing Tool
Viewing all articles
Browse latest Browse all 111

Commented Unassigned: EF 6.1.2, Effort 1.1.4 Array Index out of bounds with Include [755]

$
0
0
When using EF 6.1.1 and Effort 1.1.4, the following code is working:

```
await context.tableA.Include(a => a.tableB.Select(b => b.tableC)).ToListAsync();
```

However with EF 6.1.2 and greater, I get the following Exception:
It does not seem to make a difference if async/await is used or not

```
Der Index war außerhalb des Arraybereichs.
bei NMemory.Common.LinqJoinKeyHelper.CreateKeySelectors(Type outerType, Type innerType, IExpressionBuilder[] outerKeyCreator, IExpressionBuilder[] innerKeyCreator, LambdaExpression& outerKey, LambdaExpression& innerKey)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
bei System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
bei NMemory.Execution.Optimization.Rewriters.InnerJoinLogicalRewriter.VisitMethodCall(MethodCallExpression node)
bei System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
bei System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
bei NMemory.Execution.Optimization.Rewriters.ExpressionRewriterBase.Rewrite(Expression expression)
bei NMemory.Execution.QueryCompilerBase.TransformExpression(Expression expression, ITransformationContext context, TransformationStepRecorder recorder)
bei NMemory.Execution.QueryCompilerBase.Compile[T](Expression expression)
bei NMemory.Linq.TableQuery`1.CompilePlan()
bei NMemory.Linq.TableQuery`1.GetEnumerator(IDictionary`2 parameters, Transaction transaction)
bei NMemory.Linq.TableQueryWrapper`1.System.Collections.IEnumerable.GetEnumerator()
bei Effort.Provider.EffortDataReader..ctor(IEnumerable result, Int32 recordsAffected, FieldDescription[] fields, DbContainer container)
bei Effort.Internal.CommandActions.QueryCommandAction.ExecuteDataReader(ActionContext context)
bei Effort.Provider.EffortEntityCommand.ExecuteDbDataReader(CommandBehavior behavior)
bei System.Data.Common.DbCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.<ExecuteStoreCommandsAsync>d__c.MoveNext()
```
Comments: I created a fix for this bug: https://github.com/tamasflamich/nmemory/pull/5

Viewing all articles
Browse latest Browse all 111

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>