我有一个使用 Hilo 生成的带有 Id 列的实体。我有一个事务,创建一个新实体并调用 SaveOrUpdate() 以获取 Hilo 生成的实体 ID(我需要将该 ID 写入另一个数据库)。
稍后,在同一个事务中,我更新了新实体,只是一个简单属性的简单更新,最后我再次调用 SaveOrUpdate()。
我看到生成的 SQL 命令首先是 INSERT,然后是 UPDATE,但我想要的只是一个带有实体最终详细信息的 INSERT。那可能吗?难道我做错了什么?
编辑:添加代码示例
这是一个非常简化的伪代码示例:
Person newPerson = new Person(); // Person is a mapped entity
newPerson.Name = "foo";
_session.SaveOrUpdate(newPerson); // generates INSERT statement
newPerson.BirthDate = DateTime.Now;
_session.SaveOrUpdate(newPerson); // generates UPDATE statement
// assume session transaction was opened before and disposed correctly for sake of simplicity
_session.Transaction.Commit();