您的位置:首页 > 数据库

NHibernate 查询视图数据与数据库数据不一致

2017-03-01 10:57 393 查看

NHibernate 查询数据与数据库数据不一致

开发中遇到,当更改一条数据之后,查询到的视图列表数据没有更新,实际数据库中数据已经更改,视图中的数据也几经更改。

初步怀疑是 session 缓存的问题。

项目是winform应用程序,刚开始的时候使用的是和web应用中的配置相同。但是在web应用中没有遇到这种问题。

可能的原因:

session 的创建和销毁时和 线程绑定在一起的。

每次web请求,都会创建一个session绑定到当前线程。web请求结束之后session释放。

winform中,线程只创建一次,即项目启动时。

此时更改表数据之后,如果没有清空session缓存,那么查询的视图,实际上之后都是使用的session缓存的数据。

解决方案:

在更新表数据之后,调用

session.Clear()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nhibernate session