Мы подключили событие ISaveOrUpdateEventListener и надеялись, что сможем связать его с обновлением индикатора выполнения для каждого узла, посещаемого во время обхода сохранения довольно большой модели, НО событие запускается только один раз, когда запускаются операции сохранения (только на узле, на котором было инициировано Save (), а не на каких-либо подузлах).
Есть ли какие-либо другие события, которые более уместны для прослушивания?
Мы также пытались разбить операцию сохранения (иерархической модели), выполняя обход сами, но, похоже, это еще больше снижает производительность.
Возможно, мы пытаемся решить проблему, для которой FNH не был предназначен для использования. Мы новички в этом.
Мы также создали альтернативное решение с использованием SqlBulkCopy, как рекомендовано в другом месте.
Мы видели комментарии о том, что FNH в основном предназначен для небольших транзакций (OLTP), а не типа исчерпывающей модели, с которой мы связаны нашей проблемой (обработка сигналов огромных объемов данных).
Справка:
Мы пытаемся использовать Fluent NHibernate в более крупном проекте базы данных с данными, собранными в результате довольно сложного анализа в реальном времени (высокая частота, множественные входные сигналы, длительное время эксперимента и т. Д.). В построенном нами прототипе мы видим довольно страшные времена ожидания, и нам нужно подключить какой-то надежный индикатор прогресса.