批量插入期间Fluent NHibernate命令超时

Mat*_*ert 3 nhibernate fluent-nhibernate

我正在尝试将大约16000条记录插入到一​​个表中.因为这很慢,我想批量插入它们.但是,当我尝试这样做时,我总是会收到超时错误.所以我有两个问题:

  1. 加速插入的最佳方法是什么?
  2. 如何增加连接的超时值?

Mat*_*son 5

首先,您必须使用无状态会话.而不是调用OpenSession(); (在会话工厂中),调用OpenStatelessSession(); 它与正常会话有很多相同的api,但没有缓存和东西(膨胀数据操作更快).然后,您需要通过调用.AdoNetBatchSize([[batch size]])来设置批量大小; 您在配置中设置数据库的位置.

这可能会成功.但是你应该知道这不是nhibernate(或任何其他orm)的中继,所以不要指望任何类型的性能.