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

EF Core跨实例共享跟踪实体引发Attach报错、异常更新问题

运行环境
  • 数据访问栈:EF Core 3.1.26 搭配 EntityFrameworkCore.Jet 3.1.1 提供程序操作 MS Access 数据库
  • 版本限制:受兼容约束,无法升级 EF Core 版本
初期观测到的异常表现
  • 实体附加报错:新建上下文实例后执行实体Attach操作时,直接抛出实体已被跟踪的错误。排查确认该实体是当前上下文附加的首个实体,所有数据查询均已标记AsNoTracking,通过调试器检查ChangeTracker.Entries属性,也未发现预先存在的已跟踪实体。
  • 保存操作误更新无关数据:执行SaveChanges操作时,即便当前上下文未执行任何数据查询,Entries集合中仅存在手动附加、导航属性已设为null的实体,仍会触发多张表的无关实体批量更新,这些被误更新的实体均来自其他上下文实例中通过AsNoTracking查询得到的结果。
  • 异常特征:初期无法确认 EF Core 或 EntityFrameworkCore.Jet 从何处加载到这些无关实体,Attach、SaveChanges操作的表现如同访问了全局静态共享的ChangeTracker,暂未定位到根因和解决方案。
最终排查结论

经后续完整排查确认,上述异常属于自身检查疏漏导致的误判,不存在跨上下文实例共享静态跟踪缓存的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:01:40