我在 async
方法中有以下内容: dbContext
实例传入其中:
var userIds = await GetUserIds(db);
使用GetUserIds:
private async Task<List<int>> GetUserIds(AppContext db)
{
var items = await db.Items.Where(s => s.IsValid).Distinct().ToListAsync(); // simplified
return items;
}
但我得到:
{“ObjectContext实例已被释放,不能再用于需要连接的操作 . ”}
我可以通过删除 await
和 ToListAsync
来强制执行此操作,但显然这只是一个绑带 . 为什么我的背景会被处理?
1 回答
我怀疑
GetUserIds
方法的调用者是在操作完成之前处理上下文 . 在处理上下文之前,您确定要等待返回的任务吗?