我在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
强制执行此操作,但显然这只是一个绑定。为什么我的背景会被处理?
答案 0 :(得分:3)
我怀疑你的GetUserIds
方法的调用者在操作完成之前处理了上下文。在处理上下文之前,您确定要等待返回的任务吗?