【发布时间】:2013-11-16 16:42:22
【问题描述】:
我有一个使用 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();
【问题讨论】:
标签: nhibernate