c# - 在 EF6 中使用 linq 进行查询是在数据库具有更新值时给出旧值
问题描述
在 EF6 中使用 Linq 查询是在数据库具有更新值时提供旧tblReferenceNumber
值新记录。
AuthDBEntities db = New AuthDBEntities()
tblReferenceNumber LRefNum = db.tblReferenceNumber.OrderByDescending(ab => ab.ID).First();
string lrNum = LRefNum.ReferenceNumber;
为什么我得到旧值?我该如何解决?
解决方案
每个实例DbContext
都有一个缓存。如果您使用的实例db
与上次获取该记录时相同,那么您最终将获得缓存的数据。
您可以使用:
db.Entry(LRefNum).Reload();
强制它获取新数据。
有关此处缓存的更多信息:http: //codethug.com/2016/02/19/Entity-Framework-Cache-Busting/
但这也提出了一个问题,即为什么您使用相同的实例两次获得相同的记录db
。您是否可能声明db
为静态?
推荐阅读
- spring-boot - 使用spring-boot-starter-oauth2-client时如何配置bearer-only = true
- hugo - Hugo:生成时不要在页面中转义 HTML .Title
tag in the header.html partial</h1> <div id="body"><p>In my Hugo-based website, I often use <code><span></code> tags within my post titles. I am experiencing an issue where this HTML - java - 为什么一个类的java字节码已经出现了新的静态内部类的代码出现jvm指令ACONST_NULL
- r - R Shiny--as.POSIXlt.default 中的错误:不知道如何将“x”转换为“POSIXlt”类
- python - 命令“python setup.py egg_info”失败,错误代码 1 在 /tmp/..../
- python - Python:如何找到解码字符串的所有方法?
- sql - 限制活动记录查询的特定部分
- javascript - 集合快照?Firebase 带 js
- discord.py - 囚徒角色,Discord.py 1.5.0a
- java - 如何避免 Android Studio 中 ArrayList 中的重复项?