等待正在处理 DbContext - ObjectContext 实例已被处理

Await is disposing DbContext - The ObjectContext instance has been disposed

我在 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;
    }

但我得到:

{"The ObjectContext instance has been disposed and can no longer be used for operations that require a connection."}

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

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