NHibernate插入记录正常,更新发生了很诡异的事件。

vbfool 2010-06-12 03:46:59
更新的内容似乎并未表现在数据库上,而是不知道存在什么地方了,别人打开我的网站发现数据在网站上也是更新过了的,但是为什么数据库的内容没有变?
插入数据没有任何问题,可以在数据库里看到,怎么回事呢?
...全文
100 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbfool 2010-06-12
  • 打赏
  • 举报
回复
确实应该是缓存问题,因为我每次重新编译后,更新在页面的数据就消失了。刚才我加入了几条Clear(),确实没有问题了。
litengfei0020 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dandeline 的回复:]
引用 4 楼 yixiaojn 的回复:
建议您监视一下数据库,看看有没有更新语句执行

你看看数据库中是不是没有执行
[/Quote]


没有执行 前台怎么现实啊
yifanwu 2010-06-12
  • 打赏
  • 举报
回复
确实诡异
guozhaoyou1 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vbfool 的回复:]
C# code

public static bool UpdateBlock(BlockInfo model)
{
NHibernate.ITransaction tr = DataProvider.Session.BeginTransaction();
try
{
……
[/Quote]


数据库数据没变,你页面数据能改变,而且别人访问页是新数据!!!
怎么可能,最多是数据库数据变了,页面数据没变,这还有可能是缓存的问题
可你现在所的恰好相反!!!
除非你见鬼了,LZ 去烧香吧》。。。
vbfool 2010-06-12
  • 打赏
  • 举报
回复
似乎是都存到NHibernate的缓存里去了,我囧,干脆每次调用都用了ISession.Clear()。累死了。
parverxiao 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yixiaojn 的回复:]
建议您监视一下数据库,看看有没有更新语句执行
[/Quote]
你看看数据库中是不是没有执行
yixiaojn 2010-06-12
  • 打赏
  • 举报
回复
建议您监视一下数据库,看看有没有更新语句执行
xlj_2008 2010-06-12
  • 打赏
  • 举报
回复
帮顶~~~
vbfool 2010-06-12
  • 打赏
  • 举报
回复

public static bool UpdateBlock(BlockInfo model)
{
NHibernate.ITransaction tr = DataProvider.Session.BeginTransaction();
try
{
DataProvider.Session.Update(model);
tr.Commit();
DataProvider.Session.Flush();
return true;
}
catch (Exception)
{
tr.Rollback();
return false;
}
}

这段代码更新后,数据库数据没变,但是页面的数据确实改变了(其它机器访问也是改变的)。



NHibernate.ITransaction tr = DataProvider.Session.BeginTransaction();
try
{
DataProvider.Session.Save(model);
tr.Commit();
return true;
}
catch (Exception)
{
tr.Rollback();
return false;
}


插入记录的部分就没有什么问题。
parverxiao 2010-06-12
  • 打赏
  • 举报
回复
楼主能贴出关键代码么,这样说也不是很清楚的。。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧