日期:2014-05-17  浏览次数:20609 次

NHibernate中assinged id中SaveOrUpdate问题
由于是遗留的数据库,主键不是自增的,而是手动赋值。所以,在使用NHibernate的时候,主键策略是assgined id.

NHibernate的assigned id在使用SaveOrUpdate的时候,会遇到不能区分transient还是detached问题。解决办法是Version或者TimeStamp,但是都需要往数据库表中新加入一列。有没有什么办法能不动数据库表结构吗?

如果别无选择,只能放弃使用SaveOrUpdate,单独使用Save或者是Update方法吗?
------解决方案--------------------
重写SaveOrUpdate,加上条件带入