实体框架核心:“阅读器关闭时调用 ReadAsync 的尝试无效”

R_B*_*_BD 3 triggers entity-framework entity-framework-core

我是实体框架核心的新手,我正在制作一个简单的短项目。在我的项目中,我使用触发器。但是当我删除多个项目时,触发器显示错误:“阅读器关闭时调用 ReadAsync 的尝试无效”。

我谷歌了很多,但在这种情况下能够找到任何解决方案。我怎么解决这个问题?

下面是我的代码:

 Triggers<Items>.Deleted += async e => {
       decimal convertedQuantity = e.Entity.MeasurementUnitSetup.ConversionRatio * e.Entity.IssuedQuantity;
       var warehouseItem = e.Context.Entry(e.Entity.Warehouse).Collection(o => o.WarehouseItems)
                      .Query()
                      .SingleOrDefault(wi => wi.WarehouseId == e.Entity.WarehouseId && wi.MeasurementUnitSetup.ItemId == e.Entity.MeasurementUnitSetup.ItemId);

    if (warehouseItem.Quantity - convertedQuantity >= 0)
          warehouseItem.Quantity -= convertedQuantity;

    await e.Context.SaveChangesAsync(); //From here error showing
   }
Run Code Online (Sandbox Code Playgroud)

提前致谢。

小智 6

我遇到了同样的问题,因为我错误地在函数中返回了“void”:-

公共异步 Void OnGet()

然后我用“任务”替换了“空”

公共异步任务 OnGet()