Model view controller 实体框架-DBContext-不更新,可能是缓存?

Model view controller 实体框架-DBContext-不更新,可能是缓存?,model-view-controller,entity,dbcontext,Model View Controller,Entity,Dbcontext,我有一个奇怪的问题,它只在模型中的几个字段上间歇性地发生 该应用程序用于预订课程,管理员创建一个课程,然后用户进行申请 下面简化了一些表格 课程 CourseID 小菜一碟 长尾 粗粉 CourseID CourseDateID 粗粉 CourseVenueID 马齿苋 项目 ItemID(保存VenueID/StatusID) 项目类型 项目描述 有时,当管理员创建一个新的coursedate时,在前端查看日期的用户在CourseVenueID字段上会得到一个空值。当我查看数据库时

我有一个奇怪的问题,它只在模型中的几个字段上间歇性地发生

该应用程序用于预订课程,管理员创建一个课程,然后用户进行申请

下面简化了一些表格

课程

  • CourseID
  • 小菜一碟
  • 长尾
粗粉

  • CourseID
  • CourseDateID
  • 粗粉
  • CourseVenueID
  • 马齿苋
项目

  • ItemID(保存VenueID/StatusID)
  • 项目类型
  • 项目描述
有时,当管理员创建一个新的coursedate时,在前端查看日期的用户在CourseVenueID字段上会得到一个空值。当我查看数据库时,这个字段中显然有一个值

看起来,如果我在IIS中重新启动网站,那么关系就会形成,网站正常工作……直到管理员添加另一个课程

然而,这并不是一直都会发生,也不是在所有领域都会发生。但是,它确实发生在应用程序中的另一个字段上,但又是间歇性的


我使用的是存储库和工作单元,但是我检查了关系等的形成方式,看不到任何可能导致问题的原因。

很难回答,因为您没有提供添加CourseDate并向用户显示数据的代码。但我可以建议您一些可能有助于您找到解决方案的一般步骤:

  • 在这里添加一些添加和显示代码的小片段,以便有人可以向您指出问题
  • 查看问题代码,并尝试分析性地找到解决方案(问问自己哪里的数据可能过时)
  • 您是否将上下文存储在某个位置
  • 在事务中添加CourseDate操作是否完全处于适当的隔离级别
  • 运行DatabaseProfiler并尝试重现这种情况,然后逐步比较数据
  • 添加感兴趣范围的所有插入/更新/获取操作的日志
  • 添加感兴趣实体的数据库历史记录

    • 很难回答,因为您没有提供添加CourseDate并向用户显示数据的代码。但我可以建议您一些可能有助于您找到解决方案的一般步骤:

      • 在这里添加一些添加和显示代码的小片段,以便有人可以向您指出问题
      • 查看问题代码,并尝试分析性地找到解决方案(问问自己哪里的数据可能过时)
      • 您是否将上下文存储在某个位置
      • 在事务中添加CourseDate操作是否完全处于适当的隔离级别
      • 运行DatabaseProfiler并尝试重现这种情况,然后逐步比较数据
      • 添加感兴趣范围的所有插入/更新/获取操作的日志
      • 添加感兴趣实体的数据库历史记录