asp net core实体框架-无法访问已处置的对象

Mar*_*rko 5 asp.net entity-framework

下面的代码:

public async static Task<List<RecentTask>> GetRecentTasks(ApplicationDbContext db,
    int EmployeeID, int NewTaskID, ILogger<HomeController> logger)
{
    var TaskList = await db.RecentTask.ToListAsync(); // without this line - no exception

    var t = new RecentTask();
    t.EmployeeID = EmployeeID;
    t.TaskDefinitionID = NewTaskID;
    db.RecentTask.Add(t);
    await db.SaveChangesAsync(); // EXCEPTION!

    return TaskList;
}
Run Code Online (Sandbox Code Playgroud)

导致异常:

无法访问已处置的对象。导致此错误的一个常见原因是处置从依赖项注入解析的上下文,然后尝试在应用程序的其他位置使用相同的上下文实例。如果您在上下文上调用 Dispose() 或将上下文包装在 using 语句中,则可能会发生这种情况。如果您使用依赖项注入,则应该让依赖项注入容器负责处理上下文实例。对象名称:“ApplicationDbContext”。

删除第一行将导致异常消失。我不知道如何db处理该对象。有谁知道这里发生了什么?