Await正在释放DbContext——ObjectContext实例已经被释放

本文关键字:释放 实例 ObjectContext DbContext Await | 更新日期: 2023-09-27 18:16:26

我在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实例已被处理,不能再处理了用于需要连接的操作。"}

我可以通过移除awaitToListAsync来强制运行,但显然这只是一个创可贴。为什么我的上下文被处理掉了?

Await正在释放DbContext——ObjectContext实例已经被释放

我怀疑您的GetUserIds方法的调用者在操作完成之前处理了上下文。您确定在处理上下文之前正在等待返回的Task吗?