实体框架中的 FirstOrDefault 调用已缓存,但数据库已更改

2024-04-08

我有一个奇怪的问题,我以前没有遇到过。我使用实体框架来检索我的记录。

我有以下电话:

 var dbOrganisation = repository.DbOrganisation.FirstOrDefault(c => c.Id == id);

我预计不会缓存此调用。因此,当我拨打此电话时,我希望它查询数据库并检索最新的DbOrganisation目的。但事实并非如此。

我在相对较短的时间内(约 5-10 秒)调用此方法两次。但在此期间,该表中的十进制值可以被某些第三方更改。

然而,即使值发生变化,FirstOrDefault调用检索未更新的版本。

示例情况:

  1. 我做的FirstOrDefault调用,并查看该字段的十进制值Credits, is 50
  2. 第三方改变了Credits to 45
  3. 我做的FirstOrDefault10秒后打电话,但是DbOrganisation仍有 50 个积分

我究竟做错了什么?我以为FirstOrDefault默认情况下不缓存调用?


你做的一切都是正确的,这就是 EF 的工作原理。

您可以使用.AsNoTracking()为了您的目的:

var dbOrganisation = repository.DbOrganisation.AsNoTracking().FirstOrDefault(c => c.Id == id);

DbExtensions.AsNoTracking 方法 http://msdn.microsoft.com/en-us/library/gg679352%28v=vs.103%29.aspx:返回一个新查询,其中返回的实体不会缓存在 DbContext 或 ObjectContext 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实体框架中的 FirstOrDefault 调用已缓存,但数据库已更改 的相关文章

  • 如何将 SQL Server 中同一表中的一列插入到另一列中

    我需要将一列的数据插入到同一个表中的另一列中 谁能告诉我这个怎么写 Thanks UPDATE table SET col 2 col 1
  • 将用户定义的表类型从 VBA 传递到 SQL

    我的任务是创建一个 Excel 电子表格作为 SQL 数据库的前端 以及一些对数据执行复杂计算的 C 我的老板想要前端作为电子表格 而计算对于 VBA 来说似乎太复杂了 目前 检索数据集的存储过程运行良好 然后 用户将在 Excel 中编辑
  • 仅选择 Varchar 列中的数字[重复]

    这个问题在这里已经有答案了 在 SQL Server 2008 R2 中 我在 varchar 12 列中有一些数据 它看起来像这样 Data 1234 1765 34566 123 SDRMH HJG434 我想从所有包含 的行中删除 并
  • Rails 中 WHERE 子句中的 ALL 运算符

    关联关系如下图所示 InstructorStudent has many fees Fee belongs to instructor student 我想要获得在所有给定数组中具有每月详细信息的指导学生 如果其中任何一个中不存在每月详细信
  • 一张表中按最大日期过滤重复行的 SQL 查询

    我有一个 SQL 数据库 persons 它具有基于 IDNum 列的重复条目 我需要查询条目并仅根据最新创建日期显示行或重复条目 这是查询 SELECT IDNum PersonPGUID CreatedDateTime FirstNam
  • 使用 Proc sql 和 Teradata 在 SAS 中编写高效查询

    编辑 这是一组更完整的代码 它准确地显示了下面的答案所发生的情况 libname output data files jeff let DateStart 01Jan2013 d let DateEnd 01Jun2013 d proc s
  • 根据最大值连接表

    这是我正在谈论的内容的一个简化示例 Table students exam results id name id student id score date 1 Jim 1 1 73 8 1 09 2 Joe 2 1 67 9 2 09 3
  • MYSQL 按喜欢/不喜欢和受欢迎程度排序

    我有评论表 其中包括喜欢和不喜欢的内容 现在我在正确的顺序上遇到了问题 实际上 我的系统在顶部显示了最多点赞的评论 我正在 youtube 上寻找类似系统的东西 这意味着 100like 100dislikes 的评论的顺序高于 1 1 我
  • SQL Android 错误:没有这样的表

    因此 每次我在位于 AddContacts 类中的 EditText 字段中输入数据时 我的对话框都会显示我已成功添加信息 但在日志 cat 中却显示没有这样的表 contactsTable 我认为错误出在我的数据库类中的 onCreate
  • Allen Browne 的 ConcatRelated() 错误 3061:参数太少

    我正在尝试创建给定仓库的产品列表 Allen Browne 的 ConcatRelated 函数似乎是在链接变量相同时创建列表的经过验证的正确方法 但我无法让它工作 我已将我的信息分解为单个查询 qry Products SELECT qr
  • 如何授予 SQL Server 代理访问权限以便能够写入/修改系统文件?

    我的工作有一个存储过程 运行 BCP 来查询一些数据 如果我单独运行 QUERYOUT 命令 它就会起作用 但是 如果我尝试在作业中运行它 它会创建文件但 挂起 并且数据永远不会放入文件中 这会永远挂起 所以我通常终止 BCP exe 我的
  • SQL Server 中全文搜索的奇怪行为

    我的 MyTable 带有列消息 NVARCHAR MAX ID 为 1 的记录包含消息 0123456789333444 Test 当我运行以下查询时 DECLARE Keyword NVARCHAR 100 SET Keyword 01
  • 防止更新 ASP.NET MVC 和实体框架中未更改的值

    我正在使用 ASP NET MVC 和实体框架 我有一个 编辑人员 网页 可以在其中编辑人员的字段 然后在回发操作中 我使用以下代码 var person objectCtx Persons Where s gt s Id id First
  • MySQL Tinybit(1) 通过视图的列

    我有一个连接 2 个表的视图 其中一个表具有表示布尔值的tinyint 1 类型的列 该表在连接时并不总是有条目 因此当行丢失时视图需要采用 0 false 值 我希望视图公开 TINYINT 1 类型且 NOT NULL 类型的列 因为它
  • 如何调试参数化 SQL 查询

    我使用 C 连接到数据库 然后使用 Ad hoc SQL 来获取数据 这个简单的 SQL 查询非常方便调试 因为我可以记录 SQL 查询字符串 如果我使用参数化 SQL 查询命令 有没有办法记录 sql 查询字符串以进行调试 我想就是这样的
  • 调整 Java 类以提高 CPU 缓存友好性

    在设计java类时 对于实现CPU缓存友好性有哪些建议 到目前为止我学到的是应该尽可能多地使用 POD 即 int 而不是整数 这样 在分配包含对象时 数据将被连续分配 例如 class Local private int data0 pr
  • SQL Server 2008 GUID 列全为 0

    我希望这是我做的一个简单的傻事 我的数据库中有一个表 设置如下 column name widget guid data type uniqueidentifier allow nulls false default value newid
  • PL/SQL 过程:如何返回 select 语句?

    我想创建一个存储过程 on ORACLE数据库服务器我的问题是 我不知道如何返回 select 语句 这是程序中应包含的逻辑 输入参数 过滤器1 int 过滤器2 字符串 with cte as select val1 val2 stdde
  • 如何强制刷新 CallLog.Calls.CACHED_NAME 列?

    我的目标是从通话记录中收集所有未知的电话号码 这可以通过以下代码来实现 private static final String CALLOG PROJECTION CallLog Calls ID CallLog Calls CACHED
  • 火鸟删除速度很慢

    我正在做这个简单的交易 DELETE FROM ominve01 WHERE CVE OBS IN SELECT CVE OBS FROM minve01 M WHERE M FECHA DOCU lt 31 12 2010 OR FECH

随机推荐

  • 使用 Ubuntu 在虚拟机上安装 Kubernetes

    我正在尝试在 Ubuntu 16 04 VM 上安装 Kubernetes 我尝试了这个https kubernetes io docs getting started guides kubeadm https kubernetes io
  • json/ld ArticleBody 值内的 Html 标签?

    如果我想创建一个Article https schema org Article schema org 类型使用 json ld 格式 我是否必须将 html 标签放入articleBody的价值 因为我发现如果我使用微观数据 结构化数据工
  • getInputStream() 上的 java.io.FileNotFoundException

    我正在尝试从 URL 获取InputStream 连接响应代码是200 但我遇到了例外FileNotFoundException当我尝试 getInputStream 时 这是我的代码 url new URL http connection
  • 未找到“Google\Cloud\Storage\StorageClient”类

    use Google Cloud Storage StorageClient require DIR vendor autoload php storage new StorageClient 这是我的代码 这里我在 Windows 上安装
  • Keras 看到我的 GPU,但在训练神经网络时不使用它

    Keras TensorFlow 不使用我的 GPU 为了尝试让我的GPU与tensorflow一起工作 我通过pip安装了tensorflow gpu 我在Windows上使用Anaconda 我有nvidia 1080ti print
  • 什么是 RMI 注册表

    什么是 RMI 注册表 它有什么作用 本质上 RMI 注册表是服务器注册其提供的服务的地方 也是客户端查询这些服务的地方 看Java RMI简介 http www javacoffeebreak com articles javarmi j
  • JEdi​​torPane 的 html 中的插入符位置

    JEdi torPane 的 getCaretPosition 方法提供 html 控件的仅文本部分的索引 是否有可能将索引放入html文本中 更具体地说 假设我有一个 html 文本 其中 表示插入符号位置 abcd img src 1
  • 使用 OOP 的闭包方法时如何实现受保护的成员?

    现在我正在使用实施 OOP 的闭包 http lua users org wiki ObjectOrientationClosureApproach在卢阿 下面是一个简短的示例 我的问题发生在尝试实施时stronger heal insid
  • 为什么选择 Eigen 作为 TensorFlow? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 TensorFlow白皮书提到使用了Eigen 是否有关于如何选择 Eigen 的公开解释 它们是在 T
  • 为 Atom feed 创建 XSL

    我正在创建一个小的自定义 XSL 文件来呈现 RSS 提要 内容是基本的 如下 除非源 XML 在提要定义中包含行 xmlns http www w3 org 2005 Atom 否则此方法可以正常工作 我该如何解决这个问题 我对命名空间不
  • 如何让不和谐机器人添加你为好友

    我正在创建一个不和谐机器人 我想将其添加到 DM 组中 这样我就可以保持较低的服务器级别 但是 您无法将不是朋友的人添加到群组 DM 中 有没有办法让不和谐机器人接受好友请求 不可能 机器人帐户无权使用 Discord 的关系端点 这意味着
  • 领事注销“失败”服务

    我有 Consul 在 Consul v0 5 2 版本上运行 服务在 Mesos 中运行 服务不断从一台服务器转移到另一台服务器 有没有办法取消领事中处于 失败 状态的服务 我可以使用此curl 获取处于失败状态的服务列表 curl ht
  • 具有多个计数子查询的 SELECT 查询

    我刚刚为报告编写了这个查询 但我最初编写它时没有在每个子查询上使用日期范围过滤器 但这没有用 所以我将它添加到每个子查询中 这很有效 但我真的不喜欢每次都重复它 是否有语法可以更简单地完成同样的事情 SELECT Count r id AS
  • 聚合、组合、关联、直接关联

    我正在复习面向对象编程方面的知识 在类之间的关系主题下 我遇到了一些对我来说有点模糊的关系 我知道依赖项 uses a 和继承 is a 但我对聚合 组合 关联和直接关联有点不熟悉 另外 其中哪一个是 has a 关系 有些可以与关联互换使
  • MongoDB - 使用全文搜索搜索单词和短语时的逻辑 OR

    我之前问过一个相关问题 根据发帖者的建议 创建了这个新问题作为后续问题 MongoDB 全文搜索 匹配单词和精确短语 https stackoverflow com questions 28368883 mongodb full text
  • 页面加载时,angularjs ng-cloak 不起作用

    我是 AngularJS 的新手 并试图解决在评估 ng if 条件之前显示某些 HTML 代码的问题 我正在使用 ng cloak 正如许多其他堆栈溢出 URL 中提到的那样 但它仍然对我不起作用 我正在尝试加载默认图像 如果 URL 上
  • 每个模块必须有唯一的路径

    我已经使用 GIT 从版本控制导入了一个项目 导入 同步等等之后 它给了我这个错误 错误 模块 LinkedCraftMobile linkedcraft android 指向文件系统中的同一目录 每个模块都必须有唯一的路径 我想要一个可以
  • 如何将数据表存储在缓存中以便重复使用?

    在我的应用程序中 我使用了通用处理程序来处理请求 我想要一种机制 如果第一次请求到达处理程序 它会向服务器发出请求 然后缓存整个数据表 因此对于即将到来的请求 如果下一个请求的产品代码存在于缓存的数据表中 则它不应该去再次获取数据的服务器
  • Net Core自定义用户属性

    我在 NET Core 项目中使用默认授权 我想检查用户是否是管理员 因此在 ApplicationUser cs 模型中我添加了以下内容 public class ApplicationUser IdentityUser public b
  • 实体框架中的 FirstOrDefault 调用已缓存,但数据库已更改

    我有一个奇怪的问题 我以前没有遇到过 我使用实体框架来检索我的记录 我有以下电话 var dbOrganisation repository DbOrganisation FirstOrDefault c gt c Id id 我预计不会缓