ArgumentOutOfRangeException thrown on query with projection for entity containing owned types
- Dominant language
- C#
- Stars
- 14.8k
- Forks
- 3.4k
- PR merge metrics
- PR metrics pending
Description
### Sample code
[Here](https://github.com/tiggris/EFCoreProjection.git) you can find sample code that reproduces this issue.
### Issue description
Recently we've updated our solution from .net core 5 to 6.0.5 and some queries started to throw ArgumentOutOfRangeException. After some investigation it turned out that it occurs when entity contains some owned types.
### StackTrace:
```
List`1.get_Item(Int32 index)
SelectExpression.g__FindTableReference|84_0(SelectExpression selectExpression, TableExpressionBase tableExpression)
SelectExpression.g__GetPropertyExpressionFromSameTable|84_1(IEntityType entityType, ITableBase table, SelectExpression selectExpression, TableExpressionBase tableExpressionBase, String columnName, Boolean nullable)
SelectExpression.g__GetPropertyExpressionFromSameTable|84_1(IEntityType entityType, ITableBase table, SelectExpression selectExpression, TableExpressionBase tableExpressionBase, String columnName, Boolean nullable)
SelectExpression.GenerateWeakEntityProjectionExpression(IEntityType entityType, ITableBase table, String columnName, TableExpressionBase tableExpressionBase, Boolean nullable)
SharedTypeEntityExpandingExpressionVisitor.TryExpand(Expression source, MemberIdentity member)
SharedTypeEntityExpandingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)
MethodCallExpression.Accept(ExpressionVisitor visitor)
ExpressionVisitor.Visit(Expression node)
IncludeExpression.VisitChildren(ExpressionVisitor visitor)
<16 more frames...>
Database.CompileQuery[TResult](Expression query, Boolean async)
QueryCompiler.CompileQueryCore[TResult](IDatabase database, Expression query, IModel model, Boolean async)
<>c__DisplayClass9_0`1.b__0()
CompiledQueryCache.GetOrAddQuery[TResult](Object cacheKey, Func`1 compiler)
QueryCompiler.Execute[TResult](Expression query)
EntityQueryProvider.Execute[TResult](Expression expression)
EntityQueryable`1.GetEnumerator()
List`1.ctor(IEnumerable`1 collection)
Enumerable.ToList[TSource](IEnumerable`1 source)
```
### Provider and version information
EF Core version: 6.0.5
Database provider: Microsoft.EntityFrameworkCore.SqlServer
Target framework: .NET 6.0
Operating system: Windows 10
IDE: Visual Studio 2022 17.2.1
Kind regards,
Agnieszka Stojanik
Contributor guide
Assessment
This issue has not been assessed yet.