【发布时间】:2010-10-21 07:30:58
【问题描述】:
我对 NHibernate 中的 Flush(和 NHibernate.ISession)如何工作感到有些困惑。
从我的代码看来,当我使用ISession.Save(entity)保存对象时,可以直接将对象保存到数据库中。
但是,当我使用ISession.SaveOrUpdate(entity) 或ISession.Update(entity) 更新和对象时,数据库中的对象没有更新--- 我需要调用ISession.Flush 来更新它。
我如何更新对象的过程如下:
- 使用
ISession.Get(typeof(T), id)从数据库中获取对象 - 更改对象属性,例如
myCar.Color="Green" - 使用
ISession.Update(myCar)将其提交回数据库
myCar 未更新到数据库。但是,如果我之后打电话给ISession.Flush,它就会被更新。
什么时候使用Flush,什么时候不使用?
【问题讨论】:
标签: nhibernate