NHibernateのバッチ保存に関して問題が発生しています。同時に、NHibernateマッピングを介してリンクされている250以上のエンティティを保存しています。
2つのエンティティ間には1対多の関係があります。
ParentEntity 1
---- ChildEntity 1
---- ChildEntity 2
---- ChildEntity 3
--
--
---- ChildEntity 249
---- ChildEntity 250
So when i call
repository.save(ParentEntity 1);
250のchildEntityと1つのParentEntityの保存を内部的に呼び出します。パフォーマンスを向上させるために、すでにバッチサイズを設定しています。しかし、しばらくすると、「リーダーが閉じているときにreadを呼び出そうとすると無効になります」という例外が発生します。
詳細については、プロファイラーでSQLクエリを確認しました。200のchildEntitiesまで、挿入ステートメントを見ることができますが、その後、リセット接続が呼び出されました。"exec sp_reset_connection"いいえ、リーダーが閉じられるという問題は、このリセット接続が原因です。
誰かがこの問題を解決するために私を助けてくれますか?
サンクス、マヘシュ。