首先说一下我遇到这个情况的代码情景,首先上错误代码
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 > );
到此问题成功解决。解决办法虽然简单,但是我相信开发中会经常遇到,而我在处理问题时没有搜到任何相关文章,
所以在此与大家分享。