Entity Framework Core 错误:“在上一个操作完成之前,在此上下文上启动了第二个操作”
在以下环境中使用 Entity Framework Core 时在 ASP.Net Core 2.0 项目中,您可能会遇到错误,指出“在上一个操作完成之前,在此上下文上开始了第二个操作”。即使代码在本地运行没有问题,但在部署到登台服务器时失败,也可能会发生此错误。
可能的原因:
解决方案:
将 DbContext 注册为 Transient:
解决依赖导致的并发问题注入,将 DbContext 注册为瞬态而不是作用域。使用以下代码:
services.AddTransient<MyContext>();
避免异步 Lambda 表达式:
如果使用异步操作,请重构代码以避免使用异步 Lambda 表达式。
确保线程安全性:
了解 DbContext 实现的局限性,并通过顺序执行操作或使用适当的同步机制来确保线程安全。
考虑其他因素:
以上是为什么我的实体框架核心应用程序会抛出'在上一个操作完成之前在此上下文上启动的第二个操作”?的详细内容。更多信息请关注PHP中文网其他相关文章!