nhibernate SaveOrUpdate - 轻松确定将执行哪些操作

时间:2011-06-12 21:58:25

标签: nhibernate repository-pattern

我是nhibernate的新手。我正在使用存储库模式开发一个小型的c#应用程序。在我的存储库中,我实现了一个简单的钩子来检测实体何时被保存。 我调用实体的事件处理程序来执行实体可能需要的任何操作。

我的问题是,我也使用SaveOrUpdate方法。由于我只需要在保存操作上调用事件处理程序,因此我无法区分SaveOrUpdate调用中的保存或更新。

因此,简而言之,是否有任何简单的方法来确定将执行哪些操作 - 它是保存还是更新?

1 个答案:

答案 0 :(得分:6)

如果未设置实体的ID,nHibernate将调用Save方法,否则将调用Update方法。

看这里:

SaveOrUpdate Vs Update and Save in NHibernate

“SaveOrUpdate()查看标识符并确定上述内容。”