我使用ISession.SaveOrUpdate插入新对象并更新已存在。
如果我使用ISession.Save(..),则返回插入记录的标识。
对于SaveOrUpdate,我正在执行以下操作:
public int Save(Vehicle entity) {
using (var txn = _session.BeginTransaction()) {
_session.SaveOrUpdate(entity);
txn.Commit();
}
return entity.Id;
}
这是回归我身份的最好方法吗?
谢谢,
本
答案 0 :(得分:7)
这没什么不对。但是由于在对象上设置了标识,为什么不使该方法返回void:
public void Save(Vehicle entity) {
using (var txn = _session.BeginTransaction()) {
_session.SaveOrUpdate(entity);
txn.Commit();
}
}