我创建了一个 IDbContext 对象,该对象提供给我的 IRepository 实现。DbContext 为我的业务逻辑提供了一种根据需要创建、提交和回滚事务和提交的方法。它还传输我的 NHibernate ISession,因此我的 IRepository 的 NHibernate 实现可以访问它。
我在 Web 应用程序中使用此设置,其中每个请求创建一个 DbContext 并由所有存储库共享。在请求结束时,我处理了 ISession。
根据您对标准 NHibernate 实践的经验或知识,当我正在处理并即将关闭会话时,是否可以让我的 DbContext 刷新并自动提交任何未完成的事务(前提是没有错误)?