我正在使用NHibernate存儲一些數據,並且我需要插入大量數據作爲此操作的一部分 - 即在同一個事務中。代碼如下所示:在SqlBulkCopy中使用NHibernate事務
using (ISession session = NHibernateHelper.OpenSession())
using (ITransaction transaction = session.BeginTransaction())
{
session.SaveOrUpdate(something);
// ...
SqlBulkCopy bulkCopy = new SqlBulkCopy(
(SqlConnection)session.Connection,
SqlBulkCopyOptions.CheckConstraints | SqlBulkCopyOptions.FireTriggers,
???transaction???
);
//...
transaction.Commit();
}
我知道,我可以使用的TransactionScope或做其他。但我堅持這種模式。讓我們假裝爲了獨立的數據庫訪問(如果我提取並注入任意批量插入操作)。 有沒有一種方法如何從NHibernate.ITransaction
中獲得SqlTransaction
實例?
感謝
下面的答案是否解決了您的問題? – Meligy 2010-01-12 14:46:13