【问题标题】:How can I use a DBContext.Remove() asynchronously?如何异步使用 DBContext.Remove()?
【发布时间】:2020-03-14 06:08:09
【问题描述】:

我正在尝试使用我的 DBContext.Remove() 异步删除一个实体,但我无法编译它。

   public async void Delete(Bank bank)
    {
        await BankContext.Remove(bank);
    }

我收到以下错误:

"严重性代码描述项目文件行抑制状态 错误 CS1061 'EntityEntry' 不包含 'GetAwaiter' 的定义,并且找不到接受类型为 'EntityEntry' 的第一个参数的可访问扩展方法 'GetAwaiter'(您是否缺少 using 指令或程序集引用?)“

【问题讨论】:

    标签: asynchronous entity-framework-core


    【解决方案1】:

    Remove 没有异步版本(如果有,它将被称为 RemoveAsync)。

    正如heredocs 中所解释的那样,AddAsync 仅存在于“允许特殊值生成器,例如 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo' 使用的值生成器异步访问数据库” ,所以我认为不需要 RemoveAsync。

    public void Delete(Bank bank)
    {
        BankContext.Remove(bank);
    }
    

    【讨论】:

      猜你喜欢
      • 2020-06-14
      • 2012-01-20
      • 2017-09-03
      • 2020-05-28
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      相关资源
      最近更新 更多