EF更新,数据库值变化,前台页面并不变化,刷新也不变化,重新运行程序则变化----开发中遇到的问题(已解决)

首先说一下我遇到这个情况的代码情景,首先上错误代码

UserInfo userInfo = Session["UserInfo"] as UserInfo;

 var attentionTopicInfos = userInfo.TopicInfos.Where(t => t.TopicId > );

这段代码所呈现的问题正如题目,数据库值变化,前台页面并不变化,刷新也不变化,重新运行程序则变化。

断点调试----看到无论如何更新,查出来的attentionTopicInfos的内容也没有任何变化。

最后想到----userInfo是从Session中取出的,session储存的用户登录信息,内容并不查询更新。

而我们所需的TopicInfos  是导航属性,这个属性中的内容,也在session当中。

修改代码

UserInfo userInfo = Session["UserInfo"] as UserInfo;
userInfo = _userInfoService.GetEntitesQueryable(u => u.UserGuidId == userInfo.UserGuidId).First();//重新查询userInfo var attentionTopicInfos = userInfo.TopicInfos.Where(t => t.TopicId > );

到此问题成功解决。解决办法虽然简单,但是我相信开发中会经常遇到,而我在处理问题时没有搜到任何相关文章,

所以在此与大家分享。

上一篇:guava缓存批量获取的一个坑


下一篇:Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新