Skip to content

Any on child collection throws error #122

@laureysruben

Description

@laureysruben

Hi, when trying to use the any on a child collection we're getting an error saying "unable to map parameter of type applicationexercise to typeusage".

This is the relevant code (filter, models, and fluent api relationship)

modelBuilder.Filter("Application", Function(e As TSM.Exercise) e.ApplicationExercises.Any)

Public Overridable Property ApplicationExercises As ICollection(Of ApplicationExercise)

<Table("ApplicationExercise")>
Partial Public Class ApplicationExercise
    <Key>
    <Column(Order:=0)>
    Public Property ApplicationGUID As Guid
 
    <Key>
    <Column(Order:=1)>
    <DatabaseGenerated(DatabaseGeneratedOption.None)>
    Public Property ExerciseID As Integer
 
    Public Overridable Property Exercise As Exercise
End Class


modelBuilder.
    Entity(Of TSM.Exercise).
    HasMany(Function(e) e.ApplicationExercises).
    WithRequired(Function(e) e.Exercise).
    WillCascadeOnDelete(False)

The full error and stacktrace we're getting is this:

Unable to map parameter of type ApplicationExercise to TypeUsage. Found 0 matching types
[ApplicationException: Unable to map parameter of type ApplicationExercise to TypeUsage. Found 0 matching types]
EntityFramework.DynamicFilters.LambdaToDbExpressionVisitor.TypeUsageForPrimitiveType(Type type, ObjectContext objectContext, DataSpace dataSpace) +1235
EntityFramework.DynamicFilters.LambdaToDbExpressionVisitor.VisitUnary(UnaryExpression node) +221
System.Linq.Expressions.UnaryExpression.Accept(ExpressionVisitor visitor) +14
System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) +22
EntityFramework.DynamicFilters.LambdaToDbExpressionVisitor.MapAnyOrAllExpression(MethodCallExpression node) +101
EntityFramework.DynamicFilters.LambdaToDbExpressionVisitor.VisitMethodCall(MethodCallExpression node) +117
System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) +14
System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) +22
System.Linq.Expressions.ExpressionVisitor.VisitLambda(Expression1 node) +22 System.Linq.Expressions.Expression1.Accept(ExpressionVisitor visitor) +51
System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) +22
EntityFramework.DynamicFilters.LambdaToDbExpressionVisitor.Convert(DynamicFilterDefinition filter, DbExpressionBinding binding, DbContext dbContext, DataSpace dataSpace) +51
EntityFramework.DynamicFilters.DynamicFilterQueryVisitorCSpace.BuildFilterExpressionWithDynamicFilters(IEnumerable1 filterList, DbExpressionBinding binding, DbExpression predicate) +526 EntityFramework.DynamicFilters.DynamicFilterQueryVisitorCSpace.Visit(DbPropertyExpression expression) +1268 System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression.Accept(DbExpressionVisitor1 visitor) +73
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbPropertyExpression expression) +54
EntityFramework.DynamicFilters.DynamicFilterQueryVisitorCSpace.Visit(DbPropertyExpression expression) +54
System.Data.Entity.Core.Common.CommandTrees.DbPropertyExpression.Accept(DbExpressionVisitor1 visitor) +73 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBinding(DbExpressionBinding binding) +29 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBindingEnterScope(DbExpressionBinding binding) +17 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbQuantifierExpression expression) +44 System.Data.Entity.Core.Common.CommandTrees.DbQuantifierExpression.Accept(DbExpressionVisitor1 visitor) +73
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitList(IList1 list, Func2 map) +91
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionList(IList1 list) +79 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbCaseExpression expression) +47 System.Data.Entity.Core.Common.CommandTrees.DbCaseExpression.Accept(DbExpressionVisitor1 visitor) +72
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbFilterExpression expression) +60
System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression.Accept(DbExpressionVisitor1 visitor) +73 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBinding(DbExpressionBinding binding) +29 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBindingEnterScope(DbExpressionBinding binding) +17 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbProjectExpression expression) +44 System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression.Accept(DbExpressionVisitor1 visitor) +73
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBinding(DbExpressionBinding binding) +29
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBindingEnterScope(DbExpressionBinding binding) +17
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbFilterExpression expression) +44
System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression.Accept(DbExpressionVisitor1 visitor) +73 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitUnary(DbUnaryExpression expression, Func2 callback) +33
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbIsEmptyExpression expression) +74
System.Data.Entity.Core.Common.CommandTrees.DbIsEmptyExpression.Accept(DbExpressionVisitor1 visitor) +73 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitUnary(DbUnaryExpression expression, Func2 callback) +33
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbNotExpression expression) +74
System.Data.Entity.Core.Common.CommandTrees.DbNotExpression.Accept(DbExpressionVisitor1 visitor) +73 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbFilterExpression expression) +60 System.Data.Entity.Core.Common.CommandTrees.DbFilterExpression.Accept(DbExpressionVisitor1 visitor) +73
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBinding(DbExpressionBinding binding) +29
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBindingEnterScope(DbExpressionBinding binding) +17
System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbProjectExpression expression) +44
System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression.Accept(DbExpressionVisitor1 visitor) +73 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpression(DbExpression expression) +37 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBinding(DbExpressionBinding binding) +29 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.VisitExpressionBindingEnterScope(DbExpressionBinding binding) +17 System.Data.Entity.Core.Common.CommandTrees.DefaultExpressionVisitor.Visit(DbSortExpression expression) +44 System.Data.Entity.Core.Common.CommandTrees.DbSortExpression.Accept(DbExpressionVisitor1 visitor) +73
EntityFramework.DynamicFilters.DynamicFilterInterceptor.TreeCreated(DbCommandTreeInterceptionContext interceptionContext) +322
System.Data.Entity.Infrastructure.Interception.DbCommandTreeDispatcher.b__0(IDbCommandTreeInterceptor i, DbCommandTreeInterceptionContext c) +10
System.Data.Entity.Infrastructure.Interception.InternalDispatcher1.Dispatch(TResult result, TInterceptionContext interceptionContext, Action2 intercept) +148
System.Data.Entity.Infrastructure.Interception.DbCommandTreeDispatcher.Created(DbCommandTree commandTree, DbInterceptionContext interceptionContext) +160
System.Data.Entity.Core.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree, DbInterceptionContext interceptionContext) +99
System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlanFactory.CreateCommandDefinition(ObjectContext context, DbQueryCommandTree tree) +71

[EntityCommandCompilationException: An error occurred while preparing the command definition. See the inner exception for details.]
System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlanFactory.CreateCommandDefinition(ObjectContext context, DbQueryCommandTree tree) +137
System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlanFactory.Prepare(ObjectContext context, DbQueryCommandTree tree, Type elementType, MergeOption mergeOption, Boolean streaming, Span span, IEnumerable1 compiledQueryParameters, AliasGenerator aliasGenerator) +159 System.Data.Entity.Core.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable1 forMergeOption) +993
System.Data.Entity.Core.Objects.<>c__DisplayClassc.b__a() +32
System.Data.Entity.Core.Objects.d__3d1.MoveNext() +852 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58 System.Data.Entity.SqlServer.<ExecuteAsyncImplementation>d__91.MoveNext() +353
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
System.Data.Entity.Utilities.CultureAwaiter1.GetResult() +59 System.Data.Entity.Core.Objects.<GetResultsAsync>d__e.MoveNext() +627 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58 System.Data.Entity.Utilities.CultureAwaiter1.GetResult() +59
System.Data.Entity.Internal.d__0.MoveNext() +256
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
System.Data.Entity.Infrastructure.d__51.MoveNext() +356 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58 System.Data.Entity.Infrastructure.<ToDictionaryAsync>d__1a3.MoveNext() +406
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
System.Runtime.CompilerServices.ConfiguredTaskAwaiter.GetResult() +28
ToolshopV2.Adapters.Site.VB$StateMachine_1_GetExerciseLanguagesAsync.MoveNext() in C:\TFS\ProjectCollection\ToolshopV2\Dev\ToolshopV2.Adapters\Site\ExerciseLanguageAdapter.vb:18
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
System.Runtime.CompilerServices.TaskAwaiter1.GetResult() +28 ToolshopV2.Adapters.Site.VB$StateMachine_4_GetSearchAsync.MoveNext() in C:\TFS\ProjectCollection\ToolshopV2\Dev\ToolshopV2.Adapters\Site\ExerciseSearchAdapter.vb:35 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58 System.Runtime.CompilerServices.TaskAwaiter1.GetResult() +28
ToolshopV2.Site.Controllers.VB$StateMachine_1_Index.MoveNext() in C:\TFS\ProjectCollection\ToolshopV2\Dev\ToolshopV2.Site\Controllers\ExerciseSearchController.vb:12
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +97
System.Web.Mvc.Async.<>c__DisplayClass37.b__36(IAsyncResult asyncResult) +17
System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32
System.Web.Mvc.Async.AsyncInvocationWithFilters.b__3d() +50
System.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +228
System.Web.Mvc.Async.<>c__DisplayClass46.b__3f() +228
System.Web.Mvc.Async.<>c__DisplayClass33.b__32(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34
System.Web.Mvc.Async.<>c__DisplayClass2b.b__1c() +26
System.Web.Mvc.Async.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult) +100
System.Web.Mvc.Async.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +29 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36
System.Web.Mvc.Controller.b__15(IAsyncResult asyncResult, Controller controller) +12
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +22 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +29 System.Web.Mvc.Async.WrappedAsyncResultBase1.End() +49
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +129

We've been trying to look through the code ourselves, but I'm afraid it's out of our league. Are we doing something terribly wrong here?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions