我在本地调试应用程序时遇到一个问题。
我刚刚运行了我的 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/