複数の新しいエンティティを作成するプロセスがあります。それらをコレクションに追加しようとしました(.Persist()を実行して)、コレクションの準備ができたら、トランザクションをコミットしようとしました。
Transaction.Commit() を呼び出すまでデータベース呼び出しが実行されていないことを確認しましたが、commit を呼び出すと、個々のエンティティごとに呼び出しが行われていることがわかります。
同じタイプのエンティティのコレクション全体を一度に保存する方法はありますか?
複数の新しいエンティティを作成するプロセスがあります。それらをコレクションに追加しようとしました(.Persist()を実行して)、コレクションの準備ができたら、トランザクションをコミットしようとしました。
Transaction.Commit() を呼び出すまでデータベース呼び出しが実行されていないことを確認しましたが、commit を呼び出すと、個々のエンティティごとに呼び出しが行われていることがわかります。
同じタイプのエンティティのコレクション全体を一度に保存する方法はありますか?
バッチサイズを設定しましたか?
http://ayende.com/Blog/archive/2006/09/16/BatchingSupportInNHibernate.aspx
流暢な設定で設定してみてください
.AdoNetBatchSize(10)
http://fluentnhibernate.org/api/FluentNHibernate.Cfg.Db/PersistenceConfiguration%602.htm
これがお役に立てば幸いです。
また、主キー Nhibernate を使用している場合の挿入については、挿入Identity
をバッチ処理できません。