gpt4 book ai didi

C# Nhibernate 保存列表

转载 作者:太空狗 更新时间:2023-10-30 01:17:56 25 4
gpt4 key购买 nike

今天我有一个包含 40.000 个寄存器的列表,我需要将其保存在我的 MSSQL 数据库中。当我试图保存它时,我检查了我的控制台显示,我意识到它正在逐项保存,这消耗了很多时间,即使我试图用下面的命令插入整个列表也是如此。

List<Andamento> andamentoList = fillAndamentoList(parameters);
_repository.Save(andamentoList);
_repository.Commit();

是否可以配置 NHibernate 并将其更改为仅通过一次数据库交互实际插入整个列表?

非常感谢,

最佳答案

要使用 NHibernate 进行批处理,您需要使用无状态 session :

using (var statelessSession = sessionFactory.OpenStatelessSession())
using (var transaction = statelessSession.BeginTransaction())
{
foreach (var item in andamentoList)
{
statelessSession.Insert(item);
}
transaction.Commit();
}

将它与批量大小相结合,以在您的配置文件中获得性能:

<property name="adonet.batch_size">100</property>

您可以阅读更多here .

关于C# Nhibernate 保存列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29860256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com