使用 await 但仍获取数据库上下文已释放错误

本文关键字:上下文 释放 错误 数据库 获取 await 使用 | 更新日期: 2023-09-27 18:31:39

我已经在Linq上读到它是延迟加载的,所以它可能会导致dbcontext错误。 但是,我正在使用await根据我的理解,它会等到 Linq 查询完成。 但是,我仍然dbcontext has been disposed error. 这是我的代码

   public async Task DeleteAudit(int mInt)
    {
        var audit = await _AuditRepository.FindBy(a => a.MInt == mInt).FirstOrDefaultAsync();
        _AuditRepository.Delete(audit );
         await _AuditRepository.SaveChangesAsync();
    }

我正在尝试做的是从 mInt 匹配的_AuditRepository中删除一行。

使用 await 但仍获取数据库上下文已释放错误

我认为,你需要这样的想法,才能使这个交易原子化。

    public async Task DeleteAudit(int mInt)
    {
        var ctx = new _AuditRepository(connectionString);
        var audit = await ctx.FindBy(a => a.MInt == mInt).FirstOrDefaultAsync();
        _AuditRepository.Delete(audit);
        await ctx.SaveChangesAsync();
        ctx.Dispose()
    }