.net - 如何使用 nhibernate 更快地插入?

标签 .net oracle nhibernate insert

我需要在 oracle 数据库中插入 100 万个对象,现在做这个工作需要很多时间,我怎样才能更快地将这个对象插入数据库中?

我正在使用这段代码来做到这一点:

using (ISession session = NHibernateHelper.OpenSession())
{
  using (ITransaction tranx = session.BeginTransaction())
  {
     session.Save(movimientoPendiente);
     tranx.Commit();
  }
}

感谢您的帮助。

最佳答案

使用无状态 session 并在同一个事务中执行所有插入操作:

using (var session = NHibernateHelper.GetSessionFactory().OpenStatelessSession())
using (var tranx = session.BeginTransaction())
{
    for(...)
    {
        var movimientoPendiente = ...;
        session.Insert(movimientoPendiente);
    }

    tranx.Commit();
}

关于.net - 如何使用 nhibernate 更快地插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5406934/

相关文章:

c# - 使用 RightFax 在 C# 中获取 'System.AccessViolationException' 异常

oracle - 通过索引 rowid BATCHED 访问表和通过索引 rowid 访问表的区别

.net - NHibernate IList 到列表

nhibernate - Get<T> 和 Load<T> 的区别

c# - ObservableCollection 未绑定(bind)到组合框

c# - 什么是 Windows IPC 方法

sql - 为什么 Oracle 隐式地将 SYS_EXTRACT_UTC 添加到索引中?

sql - 选择顶行时使用了错误的索引

c# - 是否有关于 Nhibernate 的概述,您必须按什么顺序使用扩展方法?

.net - Azure Page Blob 要求我篡改文件大小