使用 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 函数时重复使用相同的上下文实例。
我正在尝试使用以下方法使用 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 函数时重复使用相同的上下文实例。