c# - Entity Framework core 2.0.3 未提供数据库中的最新数据

标签 c# asp.net-web-api .net-core entity-framework-core

我在本地调试应用程序时遇到一个问题。

我刚刚运行了我的 API 和 UI 应用程序,执行了一些操作,如下所示。

使用 dbContext 从其中一个表获取数据,当我们获取数据时,首先从表中获取新数据。后来我直接使用更新脚本更新了数据库中某一列中的数据。

当我使用 dbcontext 从同一个表中获取数据时,获取旧数据。到目前为止我还没有停止API。如果我停止并再次启动 API,则会使用 dbContext 从同一个表中获取更新的值。

不确定是什么原因导致此问题。

最佳答案

我发现了这个问题,这是由于依赖注入(inject)对象范围而发生的。

使用dbContext的服务是一个单例对象,因此dbContext不会在每次请求时刷新(而不是创建)。由于我们直接使用更新脚本更新数据库中的数据,因此 dbcontext 没有更改的轨迹,并且每次从缓存上下文而不是实际数据库获取数据时,dbContect 都不会刷新。

关于c# - Entity Framework core 2.0.3 未提供数据库中的最新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66240813/

相关文章:

c# - 应用程序池回收后自定义配置部分为空

asp.net - 不要将特定属性绑定(bind)到 ASP.NET WebApi 中的模型

c# - 红隼: get access to IP+port pair(s) it's listening on

C# 相当于 Java 的 scn.nextInt( )

c# - 如何从 Crystal 报表中调用存储过程?

c# - 在 StructureMap 中注册一个默认实例

knockout.js - KnockoutJS 异步

angularjs - 如何向客户端呈现错误? AngularJS/Web Api 模型状态

mysql - 如何使用 Entity Framework 向 mysql 添加可为空的数据类型?

c# - 在 .net core 应用程序中自托管 HTTP(s) 端点而不使用 asp.net?