Open
Description
Description
IncludeOptimizedByPathIssue throw error
"Method Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor+ShaperProcessingExpressionVisitor.PopulateCollection: type argument 'System.Collections.Generic.List1[System.Collections.Generic.List
1[IssueWithAnyAll.Entities.File]]' violates the constraint of type parameter 'TRelatedEntity'."
Exact that code perfectly worked for EF 6, but now after upgrading to EF Core 7 it produce error.
In reproducing repo you can see this :
var temp = context.Requests
.Where(x => x.Id == 1)
.IncludeOptimizedMultiple(votesIncludes)
.FirstOrDefault();
where IncludeOptimizedMultiple is extension :
public static IQueryable<TEntity> IncludeOptimizedMultiple<TEntity>(
this IQueryable<TEntity> query,
IEnumerable<string> includes) where TEntity : class
{
if (includes != null)
{
query = includes.Aggregate(query, (current, include) => current.IncludeOptimizedByPath(include));
}
return query;
}
Exception
Exception message:
Method Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor+ShaperProcessingExpressionVisitor.PopulateCollection: type argument 'System.Collections.Generic.List`1[System.Collections.Generic.List`1[IssueWithAnyAll.Entities.File]]' violates the constraint of type parameter 'TRelatedEntity'.
Stack trace:
GenericArguments[2], 'System.Collections.Generic.List`1[System.Collections.Generic.List`1[IssueWithAnyAll.Entities.File]]', on 'Void PopulateCollection[TCollection,TElement,TRelatedEntity](Int32, Microsoft.EntityFrameworkCore.Query.QueryContext, System.Data.Common.DbDataReader, Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryResultCoordinator, System.Func`3[Microsoft.EntityFrameworkCore.Query.QueryContext,System.Data.Common.DbDataReader,System.Object[]], System.Func`3[Microsoft.EntityFrameworkCore.Query.QueryContext,System.Data.Common.DbDataReader,System.Object[]], System.Func`3[Microsoft.EntityFrameworkCore.Query.QueryContext,System.Data.Common.DbDataReader,System.Object[]], System.Collections.Generic.IReadOnlyList`1[Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer], System.Collections.Generic.IReadOnlyList`1[Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer], System.Collections.Generic.IReadOnlyList`1[Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer], System.Func`5[Microsoft.EntityFrameworkCore.Query.QueryContext,System.Data.Common.DbDataReader,Microsoft.EntityFrameworkCore.Query.Internal.ResultContext,Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryResultCoordinator,TRelatedEntity])' violates the constraint of type 'TRelatedEntity'.
Project
Reproducing repo is here : https://github.com/v-karnaukhov/z.entityframework.plus.issue. In repo you can find script for creating db structure (DB Scripts folder).
Further technical details
- EF version: Microsoft.EntityFrameworkCore 7.0.5
- EF Extensions version: 7.22.3
- Database Provider: Microsoft.EntityFrameworkCore.SqlServer 7.0.5
Metadata
Metadata
Assignees
Labels
No labels