You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core MVC交易表格Amount列始终显示相同数值问题求助

问题排查:数据库存储Amount正确但前端交易列表始终展示相同数值

问题现象

  • 代码逻辑无明显报错,数据库已成功写入正确的Amount数值,但前端拉取数据展示的交易列表中,Amount列始终显示相同数值
  • 复现步骤:
    1. 在存款页面首次输入50美元提交,交易标签页正常显示50美元
    2. 后续提交60美元存款,数据库已正确存储60的数值,但交易历史标签页仍显示50,未读取数据库最新值

待排查代码范围

已提供对应代码如下:

  • Account控制器代码
  • Transaction视图代码
  • Deposit视图代码
  • 存款模型代码
  • 交易模型代码
  • Deposit DbContext代码
  • Transaction DbContext代码

排查方向

  1. 查询缓存问题
    检查交易列表查询代码是否开启了全局查询缓存、或者手动配置了未正确过期的缓存规则,确认EF Core查询是否漏加AsNoTracking()导致命中上下文缓存的旧实体。
  2. DbContext生命周期配置错误
    检查注入的Transaction DbContext是否被配置为单例模式,单例上下文会长期持有旧的实体快照,不会主动读取数据库最新值,Web项目中DbContext应配置为Scoped生命周期。
  3. 前端缓存/状态管理问题
    检查前端请求交易列表的接口是否被浏览器HTTP缓存命中,或者前端状态管理模块中交易列表数据仅在首次加载时赋值,后续新增存款后没有触发重新拉取逻辑。
  4. 视图渲染逻辑问题
    检查Transaction视图中绑定Amount列的变量是否写死,或者循环渲染时始终取了数组首个元素的Amount值,而非当前迭代项的对应字段。
  5. 实体映射错误
    检查交易模型的Amount字段是否错误添加了[NotMapped]特性,或者AutoMapper等映射工具配置了固定转换规则,导致所有实体映射后Amount都为首次取值。

内容的提问来源于stack exchange,提问作者Anime Zone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 10:15:05