【问题标题】:Entity Framework core 2.0.3 not giving latest data from Database实体框架核心 2.0.3 未提供来自数据库的最新数据
【发布时间】:2021-05-20 06:35:54
【问题描述】:

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

我刚刚运行了我的 API 和 UI 应用,做了如下一些操作。

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

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

不确定是什么导致了这个问题。

【问题讨论】:

  • 您使用的是同一个上下文实例吗?是否启用跟踪?
  • 我们使用相同的上下文,但未启用跟踪。 dbContext 是作用域对象
  • 那我觉得我们需要minimal reproducible example

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多