4
当使用Session.SaveOrUpdate(myEntity);
NHibernate如何决定如何插入新记录或更新现有的记录?NHibernate如何确定是否插入或更新记录?
我在保存S#arp项目中的一个对象时遇到了麻烦。它从存储中检索,然后以会话状态存储一些Web请求,然后将其保存回数据库,并更改一个属性(不是S#arp [DomainSignature]
)。
我在运行时使用Equals()
方法比较了将要保留的对象与直接从数据库中直接检索的新版本,并且返回true。但是,该对象仍然最终在数据库中创建一个新行。
在应用程序的其他地方,这是工作正常,但我希望有一个指针NHBC是如何工作的。
您可能想检查此前一个问题:http://stackoverflow.com/questions/170962/nhibernate-difference-between-session-merge-and-session-saveorupdate – 2010-09-07 16:24:51
另一个答案:http://stackoverflow.com /问题/ 1150854/saveorupdate-VS-更新并节省功能于NHibernate的 – 2010-09-07 16:27:11