【发布时间】:2010-10-13 11:25:26
【问题描述】:
有什么方法可以排队 NHibernate 中的“添加”操作,就像 Linq to SQL 和 Entity Framework 一样?
我想将实体添加到存储库,但我不想立即将其保存到数据库中,因为业务逻辑很复杂。 我想在调用 ITransaction.Commit() 时提交所有更改,就像 Entity Framework 所做的那样。我可以这样做吗?
注意:我发现 NHibernate 会在我调用 ISession.Save() 方法后立即执行插入命令,这不是预期的。
更新:我尝试将 FlushMode 设置为 Commit。但它仍然会立即保存实体,而不是在我调用 ITransaction.Commit() 时提交所有更改。
UPDATE 2我在这里找到了原因http://nhibernate.info/doc/nh/en/index.html#manipulatingdata-flushing:(一个例外是使用原生ID生成的对象在保存时被插入。)。所以我只能将Id生成器更改为“身份”以外的东西?没有其他类似EntityFramework的解决方案吗?
【问题讨论】:
标签: .net nhibernate orm isession