如何从NHibernate ISession.SaveOrUpdate返回id
我正在使用ISession.SaveOrUpdate插入新对象并更新现有对象 如果使用ISession.Save(..),则返回插入记录的标识 对于SaveOrUpdate,我将执行以下操作:如何从NHibernate ISession.SaveOrUpdate返回id,nhibernate,Nhibernate,我正在使用ISession.SaveOrUpdate插入新对象并更新现有对象 如果使用ISession.Save(..),则返回插入记录的标识 对于SaveOrUpdate,我将执行以下操作: public int Save(Vehicle entity) { using (var txn = _session.BeginTransaction()) { _session.SaveOrUpdate(entity); txn.C
public int Save(Vehicle entity) {
using (var txn = _session.BeginTransaction()) {
_session.SaveOrUpdate(entity);
txn.Commit();
}
return entity.Id;
}
这是返回我身份的最佳方式吗
谢谢
本这没什么错。但是既然标识是在对象上设置的,为什么不让方法返回void呢
public void Save(Vehicle entity) {
using (var txn = _session.BeginTransaction()) {
_session.SaveOrUpdate(entity);
txn.Commit();
}
}
我认为这看起来是一个很好的方法,可能我自己也会这么做;例如,锋利的拱门就是这样做的。