1

我们使用 NHibernate 作为域模型的 DAL。在批量处理结束时,我想使用 NHibernate DAL 执行一些操作

就像是:

public void BulkUpdate()
{
   var connection =  new sqlConnection(“connectonstring”);
   var transaction = connection.BeginTransaction();
   // Do Bulk Stuff
   var session = SessionFactory.OpenSession(connection);
   var result = session.Query<DomainClass>();
   // Do Stuff with Result
   transaction.Commit();
   connection.Close();     
}

NHibernate 的读取尝试失败,因为它尝试使用没有事务集的命令对象。但我不知道将事务对象传递给它的方法。

那里有任何 Nhibernate 大师吗?

4

1 回答 1

3

我认为这种方法可能有效,但现在没有时间验证它:

  • 首先,从您的连接字符串创建一个 NHibernate 会话,如this SO answer所示
  • 像这样打开事务:session.BeginTransaction()
  • 使用该session.Connection属性执行批量操作
  • session酌情使用并提交完成处理
于 2013-02-01T15:07:19.247 回答