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

本文探讨了在WinForm应用中使用NHibernate时遇到的数据查询不一致问题,详细分析了原因并给出了具体的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

开发中遇到,当更改一条数据之后,查询到的视图列表数据没有更新,实际数据库中数据已经更改,视图中的数据也几经更改。
初步怀疑是 session 缓存的问题。
项目是winform应用程序,刚开始的时候使用的是和web应用中的配置相同。但是在web应用中没有遇到这种问题。
可能的原因:
session 的创建和销毁时和 线程绑定在一起的。
每次web请求,都会创建一个session绑定到当前线程。web请求结束之后session释放。
winform中,线程只创建一次,即项目启动时。
此时更改表数据之后,如果没有清空session缓存,那么查询的视图,实际上之后都是使用的session缓存的数据。
解决方案:
在更新表数据之后,调用

session.Clear()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值