I’m doing a complex async database query with Entity Framework Core which looks like this:
Schedule schedule = await db.Schedules
.Include("Timetable.Class.Lecturers")
.Include("Timetable.Class.AdvancedClassSections.ClassSessions.Lecturers")
.Include("Timetable.Class.ClassSessions.Lecturers")
.Include("Timetable.Class.AdvancedClassSections.Lecturers")
.FirstOrDefaultAsync(k => k.ScheduleId == scheduleId);
But I keep getting a runtime error message which says:
System.InvalidOperationException: ‘The model item passed into the
ViewDataDictionary is of type
‘System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.Collections.Generic.List`1[Emily.Models.Timetable],Emily.Controllers.TimetableController+d__21]’,
but this ViewDataDictionary instance requires a model item of type
‘System.Collections.Generic.IEnumerable`1[Emily.Models.Timetable]’.’
It seems there’s a low-level operation which should cast from IEnumerable but is getting something more complex. It was working fine when it wasn’t async. I have other queries like that which are running fine, but I can’t seem to figure why this one throws an exception. It has nothing to do a view because this happens in a controller action.
Full Call Stack:
Microsoft.AspNetCore.Mvc.ViewFeatures.dll!Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary.EnsureCompatible(object
value) Line 212 C#
Microsoft.AspNetCore.Mvc.ViewFeatures.dll!Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary.ViewDataDictionary(Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary
source, object model, System.Type declaredModelType) Line 138 C#
[Lightweight Function]
Microsoft.AspNetCore.Mvc.Razor.dll!Microsoft.AspNetCore.Mvc.Razor.RazorPagePropertyActivator.Activate(object
page, Microsoft.AspNetCore.Mvc.Rendering.ViewContext context) Unknown
Microsoft.AspNetCore.Mvc.Razor.dll!Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(Microsoft.AspNetCore.Mvc.Razor.IRazorPage
page, Microsoft.AspNetCore.Mvc.Rendering.ViewContext context) Unknown
Microsoft.AspNetCore.Mvc.Razor.dll!Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(Microsoft.AspNetCore.Mvc.Razor.IRazorPage
page, Microsoft.AspNetCore.Mvc.Rendering.ViewContext context, bool
invokeViewStarts) Unknown
Microsoft.AspNetCore.Mvc.Razor.dll!Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(Microsoft.AspNetCore.Mvc.Rendering.ViewContext
context) Unknown
Microsoft.AspNetCore.Mvc.ViewFeatures.dll!Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(Microsoft.AspNetCore.Mvc.Rendering.ViewContext
viewContext, string contentType, int? statusCode) Line 128 C#
Microsoft.AspNetCore.Mvc.ViewFeatures.dll!Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(Microsoft.AspNetCore.Mvc.ActionContext
actionContext, Microsoft.AspNetCore.Mvc.ViewEngines.IView view,
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary viewData,
Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionary tempData,
string contentType, int? statusCode) Line 104 C#
Microsoft.AspNetCore.Mvc.ViewFeatures.dll!Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor.ExecuteAsync(Microsoft.AspNetCore.Mvc.ActionContext
context, Microsoft.AspNetCore.Mvc.ViewResult result) C#
Microsoft.AspNetCore.Mvc.ViewFeatures.dll!Microsoft.AspNetCore.Mvc.ViewResult.ExecuteResultAsync(Microsoft.AspNetCore.Mvc.ActionContext
context) Line 33 C#
Microsoft.AspNetCore.Mvc.Core.dll!Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext<Microsoft.AspNetCore.Mvc.Filters.IResultFilter,
Microsoft.AspNetCore.Mvc.Filters.IAsyncResultFilter>(ref
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.State next,
ref Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Scope
scope, ref object state, ref bool isCompleted) Line 1338 C#
Microsoft.AspNetCore.Mvc.Core.dll!Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResultFilterAsync<Microsoft.AspNetCore.Mvc.Filters.IResultFilter,
Microsoft.AspNetCore.Mvc.Filters.IAsyncResultFilter>() Line 1354 C#
Microsoft.AspNetCore.Mvc.Core.dll!Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext<Microsoft.AspNetCore.Mvc.Filters.IResultFilter,
Microsoft.AspNetCore.Mvc.Filters.IAsyncResultFilter>(ref
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.State next,
ref Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Scope
scope, ref object state, ref bool isCompleted) Line 1258 C#
Microsoft.AspNetCore.Mvc.Core.dll!Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()
Line 1090 C#
Microsoft.AspNetCore.Mvc.Core.dll!Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.State next,
ref Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Scope
scope, ref object state, ref bool isCompleted) Line 853 C#
Microsoft.AspNetCore.Mvc.Core.dll!Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResourceFilter()
Line 952 C#
Microsoft.AspNetCore.Mvc.Core.dll!Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.State next,
ref Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Scope
scope, ref object state, ref bool isCompleted) Line 557 C#
Microsoft.AspNetCore.Mvc.Core.dll!Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
Line 232 C#
Microsoft.AspNetCore.Mvc.Core.dll!Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeAsync()
Line 70 C#
Microsoft.AspNetCore.Routing.dll!Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
httpContext) Line 87 C#
Microsoft.AspNetCore.Session.dll!Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 123 C#
Microsoft.AspNetCore.Authorization.Policy.dll!Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 75 C#
Microsoft.AspNetCore.StaticFiles.dll!Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 75 C#
Microsoft.AspNetCore.StaticFiles.dll!Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 75 C#
Microsoft.AspNetCore.HttpsPolicy.dll!Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 74 C#
Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.dll!Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.MigrationsEndPointMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 50 C#
Microsoft.AspNetCore.Localization.dll!Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 95 C#
Microsoft.AspNetCore.Authentication.dll!Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 65 C#
Microsoft.AspNetCore.Diagnostics.dll!Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 80 C#
Microsoft.AspNetCore.HostFiltering.dll!Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext
context) Line 51 C#
Microsoft.WebTools.BrowserLink.Net.dll!Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware.InvokeAsync(Microsoft.AspNetCore.Http.HttpContext
context) Line 53 C# [Resuming Async Method]
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.AsyncStateMachineBox<Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware.d__6>.ExecutionContextCallback(object
s) Line 287 C#
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext
executionContext, System.Threading.ContextCallback callback, object
state) Line 183 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.AsyncStateMachineBox<Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware.d__6>.MoveNext(System.Threading.Thread
threadPoolThread) Line 324 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.AsyncStateMachineBox<Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware.d__6>.MoveNext()
Line 302 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__12_0(System.Action
innerContinuation, System.Threading.Tasks.Task innerTask) Line 301 C#
System.Private.CoreLib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action
action, bool allowInlining) Line 743 C#
System.Private.CoreLib.dll!System.Threading.Tasks.Task.RunContinuations(object
continuationObject) Line 3417 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.SetExistingTaskResult(System.Threading.Tasks.Task<System.__Canon>
task, System.__Canon result) Line 446 C# [Completed]
Microsoft.WebTools.BrowserLink.Net.dll!Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware.GetScriptTag(string
requestId, bool isHttps, string hostUrl) Line 83 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware.d__7>.ExecutionContextCallback(object
s) Line 287 C#
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext
executionContext, System.Threading.ContextCallback callback, object
state) Line 183 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox<Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware.d__7>.MoveNext(System.Threading.Thread
threadPoolThread) Line 324 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware.d__7>.MoveNext()
Line 302 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__12_0(System.Action
innerContinuation, System.Threading.Tasks.Task innerTask) Line 301 C#
System.Private.CoreLib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action
action, bool allowInlining) Line 743 C#
System.Private.CoreLib.dll!System.Threading.Tasks.Task.RunContinuations(object
continuationObject) Line 3417 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.SetExistingTaskResult(System.Threading.Tasks.Task<System.__Canon>
task, System.__Canon result) Line 446 C# [Completed]
System.Net.Http.dll!System.Net.Http.HttpClient.SendAsync.__Core|83_0(System.Net.Http.HttpRequestMessage
request, System.Net.Http.HttpCompletionOption completionOption,
System.Threading.CancellationTokenSource cts, bool disposeCts,
System.Threading.CancellationTokenSource pendingRequestsCts,
System.Threading.CancellationToken originalCancellationToken) Unknown
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.HttpClient.<g__Core|83_0>d>.ExecutionContextCallback(object
s) Line 287 C#
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext
executionContext, System.Threading.ContextCallback callback, object
state) Line 183 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Net.Http.HttpResponseMessage>.AsyncStateMachineBox<System.Net.Http.HttpClient.<g__Core|83_0>d>.MoveNext(System.Threading.Thread
threadPoolThread) Line 324 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.HttpClient.<g__Core|83_0>d>.MoveNext()
Line 302 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__12_0(System.Action
innerContinuation, System.Threading.Tasks.Task innerTask) Line 301 C#
System.Private.CoreLib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action
action, bool allowInlining) Line 743 C#
System.Private.CoreLib.dll!System.Threading.Tasks.Task.RunContinuations(object
continuationObject) Line 3417 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.SetExistingTaskResult(System.Threading.Tasks.Task<System.__Canon>
task, System.__Canon result) Line 446 C# [Completed]
System.Net.Http.dll!System.Net.Http.RedirectHandler.SendAsync(System.Net.Http.HttpRequestMessage
request, bool async, System.Threading.CancellationToken
cancellationToken) Unknown
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.RedirectHandler.d__4>.ExecutionContextCallback(object
s) Line 287 C#
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext
executionContext, System.Threading.ContextCallback callback, object
state) Line 183 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Net.Http.HttpResponseMessage>.AsyncStateMachineBox<System.Net.Http.RedirectHandler.d__4>.MoveNext(System.Threading.Thread
threadPoolThread) Line 324 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.RedirectHandler.d__4>.MoveNext()
Line 302 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__12_0(System.Action
innerContinuation, System.Threading.Tasks.Task innerTask) Line 301 C#
System.Private.CoreLib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action
action, bool allowInlining) Line 743 C#
System.Private.CoreLib.dll!System.Threading.Tasks.Task.RunContinuations(object
continuationObject) Line 3417 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.SetExistingTaskResult(System.Threading.Tasks.Task<System.__Canon>
task, System.__Canon result) Line 446 C# [Completed]
System.Net.Http.dll!System.Net.Http.DiagnosticsHandler.SendAsyncCore(System.Net.Http.HttpRequestMessage
request, bool async, System.Threading.CancellationToken
cancellationToken) Unknown
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.DiagnosticsHandler.d__10>.ExecutionContextCallback(object
s) Line 287 C#
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext
executionContext, System.Threading.ContextCallback callback, object
state) Line 183 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Net.Http.HttpResponseMessage>.AsyncStateMachineBox<System.Net.Http.DiagnosticsHandler.d__10>.MoveNext(System.Threading.Thread
threadPoolThread) Line 324 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.DiagnosticsHandler.d__10>.MoveNext()
Line 302 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__12_0(System.Action
innerContinuation, System.Threading.Tasks.Task innerTask) Line 301 C#
System.Private.CoreLib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action
action, bool allowInlining) Line 743 C#
System.Private.CoreLib.dll!System.Threading.Tasks.Task.RunContinuations(object
continuationObject) Line 3417 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.SetExistingTaskResult(System.Threading.Tasks.Task<System.__Canon>
task, System.__Canon result) Line 446 C# [Completed]
System.Net.Http.dll!System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(System.Net.Http.HttpRequestMessage
request, bool async, bool doRequestAuth,
System.Threading.CancellationToken cancellationToken) Unknown
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.HttpConnectionPool.d__86>.ExecutionContextCallback(object
s) Line 287 C#
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext
executionContext, System.Threading.ContextCallback callback, object
state) Line 183 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Net.Http.HttpResponseMessage>.AsyncStateMachineBox<System.Net.Http.HttpConnectionPool.d__86>.MoveNext(System.Threading.Thread
threadPoolThread) Line 324 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.HttpConnectionPool.d__86>.MoveNext()
Line 302 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__12_0(System.Action
innerContinuation, System.Threading.Tasks.Task innerTask) Line 301 C#
System.Private.CoreLib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action
action, bool allowInlining) Line 743 C#
System.Private.CoreLib.dll!System.Threading.Tasks.Task.RunContinuations(object
continuationObject) Line 3417 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.SetExistingTaskResult(System.Threading.Tasks.Task<System.__Canon>
task, System.__Canon result) Line 446 C# [Completed]
System.Net.Http.dll!System.Net.Http.HttpConnection.SendAsyncCore(System.Net.Http.HttpRequestMessage
request, bool async, System.Threading.CancellationToken
cancellationToken) Unknown
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.HttpConnection.d__61>.ExecutionContextCallback(object
s) Line 287 C#
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext
executionContext, System.Threading.ContextCallback callback, object
state) Line 183 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Net.Http.HttpResponseMessage>.AsyncStateMachineBox<System.Net.Http.HttpConnection.d__61>.MoveNext(System.Threading.Thread
threadPoolThread) Line 324 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.AsyncStateMachineBox<System.Net.Http.HttpConnection.d__61>.MoveNext()
Line 302 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__12_0(System.Action
innerContinuation, System.Threading.Tasks.Task innerTask) Line 301 C#
System.Private.CoreLib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action
action, bool allowInlining) Line 743 C#
System.Private.CoreLib.dll!System.Threading.Tasks.Task.RunContinuations(object
continuationObject) Line 3417 C#
System.Private.CoreLib.dll!System.Threading.Tasks.Task.TrySetResult(int
result) Line 401 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetExistingTaskResult(System.Threading.Tasks.Task
task, int result) Line 446 C# [Completed]
System.Net.Http.dll!System.Net.Http.HttpConnection.CheckUsabilityOnScavenge.__ReadAheadWithZeroByteReadAsync|44_0() Unknown
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox<System.Net.Http.HttpConnection.<g__ReadAheadWithZeroByteReadAsync|44_0>d>.ExecutionContextCallback(object
s) Line 287 C#
System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext
executionContext, System.Threading.ContextCallback callback, object
state) Line 183 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox<System.Net.Http.HttpConnection.<g__ReadAheadWithZeroByteReadAsync|44_0>d>.MoveNext(System.Threading.Thread
threadPoolThread) Line 324 C#
System.Private.CoreLib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.AsyncStateMachineBox<System.Net.Http.HttpConnection.<g__ReadAheadWithZeroByteReadAsync|44_0>d>.MoveNext()
Line 302 C#
System.Net.Sockets.dll!System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.InvokeContinuation(System.Action
continuation, object state, bool forceAsync, bool
requiresExecutionContextFlow) Unknown
System.Net.Sockets.dll!System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.OnCompleted(System.Net.Sockets.SocketAsyncEventArgs
_) Unknown System.Net.Sockets.dll!System.Net.Sockets.SocketAsyncEventArgs..cctor.AnonymousMethod__176_0(uint
errorCode, uint numBytes, System.Threading.NativeOverlapped*
nativeOverlapped) Unknown
System.Private.CoreLib.dll!System.Threading.ThreadPoolTypedWorkItemQueue<System.Threading.PortableThreadPool.IOCompletionPoller.Event,
System.Threading.PortableThreadPool.IOCompletionPoller.Callback>.System.Threading.IThreadPoolWorkItem.Execute()
Line 1143 C#
System.Private.CoreLib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch()
Line 924 C#
System.Private.CoreLib.dll!System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
Line 121 C# [Async Call Stack] [Async]
Microsoft.AspNetCore.Watch.BrowserRefresh.dll!Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserRefreshMiddleware.InvokeAsync(Microsoft.AspNetCore.Http.HttpContext
context) Unknown [Async]
Microsoft.AspNetCore.Server.Kestrel.Core.dll!Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests<Microsoft.AspNetCore.Hosting.HostingApplication.Context>(Microsoft.AspNetCore.Hosting.Server.IHttpApplication<Microsoft.AspNetCore.Hosting.HostingApplication.Context>
application) Unknown [Async]
Microsoft.AspNetCore.Server.Kestrel.Core.dll!Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync<Microsoft.AspNetCore.Hosting.HostingApplication.Context>(Microsoft.AspNetCore.Hosting.Server.IHttpApplication<Microsoft.AspNetCore.Hosting.HostingApplication.Context>
application) Unknown [Async]
Microsoft.AspNetCore.Server.Kestrel.Core.dll!Microsoft.AspNetCore.Server.Kestrel.Core.Internal.HttpConnection.ProcessRequestsAsync<Microsoft.AspNetCore.Hosting.HostingApplication.Context>(Microsoft.AspNetCore.Hosting.Server.IHttpApplication<Microsoft.AspNetCore.Hosting.HostingApplication.Context>
httpApplication) Unknown [Async]
Microsoft.AspNetCore.Server.Kestrel.Core.dll!Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection<Microsoft.AspNetCore.Connections.ConnectionContext>.ExecuteAsync() Unknown
>Solution :
Most likely when you changed this method to be async you neglected to change the code that calls to the method to await it before sending the result to the View. Since the return type of the method is now a Task<List<Timetable>> instead of a List<Timetable>, the view recognizes that it isn’t an IEnumerable<Timetable> and throws an exception.
If the exception is appearing to come from this line of code, it may be due to the asynchronous task. Your method has already returned the Task, and the calling method has already invoked the View before this line of code actually finishes executing. But the stack trace doesn’t appear to refer to this line of code anywhere: it clearly shows the Razor view throwing this exception when it validates the model type.