0

我有一个使用 Nhibernate 的应用程序,并且我正在实现一个存储库模式。我想知道是否有任何方法可以获取受影响的行数并将其返回给存储库用户,就像我们ICommand.ExecuteNonQuery在 Ado.Net Providers 中进行的那样。我的代码如下所示:

   public int Save(T entity) 
   {
       session.Save(entity);
       return ???
   }

   public int Delete(T entity) 
   {
       session.Delete(entity);
       return ???
   }

谢谢

4

1 回答 1

1

在您的代码中,如果行数不是 1,NHibernate 将引发异常(在上面的 2 种情况下 - 无论如何,当您刷新会话时),所以您可以从 Delete 和 Save 方法返回 1 - 当然这会返回行数毫无意义。为什么要返回行数?如果要检查 NHibernate 是否正在做它应该做的事情(即更新 1 行或删除 1 行),我建议相信该工具来完成它的工作......

于 2012-09-11T15:37:39.420 回答