C# NHibernate需要一个事务才能成功更新

C# NHibernate需要一个事务才能成功更新,c#,nhibernate,C#,Nhibernate,使用NHibernate,在我的NUnit测试中,我可能会进行一个调用,例如会话。删除(\u user),其中\u user是一个持久对象 我的问题似乎是,除非在事务中包含此更新和任何其他更新,否则它永远不会成功 所以 工作 但是, 没有,但没有报告任何异常或问题 有什么想法吗?NHibernate只会在刷新会话时向数据库发送更新/插入/删除 您可以通过调用Flush()显式地实现这一点,但还应该查看配置:您也可以在那里指定默认的刷新行为 有趣的是: NHibernate仅在刷新会话时向数据库

使用NHibernate,在我的NUnit测试中,我可能会进行一个调用,例如
会话。删除(\u user)
,其中
\u user
是一个持久对象

我的问题似乎是,除非在事务中包含此更新和任何其他更新,否则它永远不会成功

所以

工作

但是,

没有,但没有报告任何异常或问题


有什么想法吗?

NHibernate只会在刷新会话时向数据库发送更新/插入/删除

您可以通过调用Flush()显式地实现这一点,但还应该查看配置:您也可以在那里指定默认的刷新行为

有趣的是:


NHibernate仅在刷新会话时向数据库发送更新/插入/删除

您可以通过调用Flush()显式地实现这一点,但还应该查看配置:您也可以在那里指定默认的刷新行为

有趣的是:


已排序!这个链接非常有用。总之,始终使用事务。已排序!这个链接非常有用。总之,始终使用事务。
CurrentSessionContext.Bind(GetHibernateSessionFactory().OpenSession());
ITransaction trans=session.BeginTransaction()
session.Delete(_user);
trans.Commit();
CurrentSessionContext.Unbind(GetHibernateSessionFactory())
CurrentSessionContext.Bind(GetHibernateSessionFactory().OpenSession());
session.Delete(_user);
CurrentSessionContext.Unbind(GetHibernateSessionFactory())