Asp.net asp net核心实体框架-无法访问已释放的对象
以下代码:Asp.net asp net核心实体框架-无法访问已释放的对象,asp.net,entity-framework,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
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;
}
public异步静态任务GetRecentTasks(ApplicationDbContext数据库,
int EmployeeID、int NewTaskID、ILogger记录器)
{
var TaskList=await db.RecentTask.ToListAsync();//无此行-无异常
var t=新的最近任务();
t、 EmployeeID=EmployeeID;
t、 TaskDefinitionID=NewTaskID;
db.RecentTask.Add(t);
等待db.saveChangesSync();//异常!
返回任务列表;
}
导致异常的原因:
无法访问已释放的对象。此错误的常见原因是
处理从依赖项注入解析的上下文,并
然后,稍后尝试在应用程序中的其他位置使用相同的上下文实例
应用如果在上调用Dispose(),可能会发生这种情况
上下文,或将上下文包装到using语句中。如果你是
使用依赖项注入,您应该让依赖项注入
容器负责处理上下文实例。对象名称:
“ApplicationDbContext”
删除第一行将导致异常消失。我看不出对象db
将如何处理。有人知道这里发生了什么吗