Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NHibernate中保存/删除/保存或更新受影响的行_C#_Nhibernate_Orm_Ado.net - Fatal编程技术网

C# NHibernate中保存/删除/保存或更新受影响的行

C# NHibernate中保存/删除/保存或更新受影响的行,c#,nhibernate,orm,ado.net,C#,Nhibernate,Orm,Ado.net,我有一个使用Nhibernate的应用程序,我正在实现一个存储库模式。我想知道是否有任何方法可以获取受影响的行数并将其返回给存储库用户,因为我们在Ado.Net Providers中访问了ICommand.ExecuteNonQuery。我的代码如下所示: public int Save(T entity) { session.Save(entity); return ??? } public int Delete(T entity)

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

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

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

谢谢

在您的代码中,如果行数不是1,NHibernate将抛出异常(在上面的两种情况下,在刷新会话时也是如此),因此您可以从Delete和Save方法返回1,当然这使得返回行数毫无意义。为什么要返回行数?如果要检查NHibernate是否正在执行它应该执行的操作(即更新1行或删除1行),我建议信任该工具来完成它的工作