单击保存按钮时,将运行以下代码[PersistenceSession是返回ISession实例的属性]:
_storedWill = PersistenceSession.Load<StoredWill>(_storedWillId);
_storedWill.WillReference = txtWillReference.Text;
_storedWill.IntroducerReference = txtIntroducerReference.Text;
//A stack of other properties of the _storedWill object assigned
PersistenceSession.SaveOrUpdate(_storedWill);
在最后一行设置的断点显示PersistenceSession.IsDirty()为真。
但是,不会生成更新SQL。谁能想到为什么?
由于
大卫
答案 0 :(得分:1)
您需要Flush
会话才能将更新发送到数据库。 SaveOrUpdate
不会向数据库发送任何内容,除非您持久保存新创建的实体,其ID值是数据库生成的。由于您只是在更新,所以这样做可以确保_storedWill
实体与ISession
属性返回的PersistenceSession
相关联。