使用 EF Core 和 Azure Functions 更新数据库时无法访问已处置的对象

cannot access a disposed object while updating the database using EF Core and Azure Functions

我正在尝试使用以下方法使用 EF Core 从数据库中获取条件为 where 的单行,

 IncidentRequestDetailsModel dbObject = _context.IncidentRequestDetails.SingleOrDefault(no => no.Ticket_No == requestList[i].Ticket_No);

也试过这个

IncidentRequestDetailsModel dbObject = _context.IncidentRequestDetails.Where(no => no.Ticket_No == requestList[i].Ticket_No).FirstOrDefault();

还有这个

IncidentRequestDetailsModel dbObject = await _context.IncidentRequestDetails.FindAsync(requestList[i].Id);

正在抛出此错误

if you are calling Dispose() on the context, or wrapping the context in a using statement. If you are using dependency injection, you should let the dependency injection container take care of disposing context instances. Object name: 'uploadContext'.'

我的最终目标是使用下面的整体代码更新数据库,

 incidentRequestDetailsModelDB.Status = incidentRequestDetailsModel.Status;
 _context.IncidentRequestDetails.Update(incidentRequestDetailsModelDB);
 await _context.SaveChangesAsync();

我将 EF Core 与 Azure Functions 和 .Net Core 2.1 结合使用。

这与您的查询语法没有任何关系。这意味着您的代码的某些部分在您尝试查询的代码部分之前调用了 _context 上的 Dispose() 方法。

您需要找到调用 Dispose() 或退出 using 语句的位置。并确保您不会在多次调用 Azure 函数时重复使用相同的上下文实例。