NHibernate 2.1.0.4000, похоже, не любит пакетную вставку - PullRequest
4 голосов
/ 20 июля 2009

Я использую NHibernate 2.1.0.4000 в одном из проектов. Я установил adonet.batch_size в 100 в файле cfg, однако все еще вижу, что оператор вставки обрабатывается как отдельный оператор. Обновление вроде работает нормально. В чем дело?

Обновлен: Это потому, что я выбрал идентичность в качестве генератора первичного ключа?

<id name="Id" column="Id" unsaved-value="0" type="Int32">
  <generator class ="identity"></generator>
</id>

1 Ответ

11 голосов
/ 20 июля 2009

Я не знаю никаких проблем с этой конкретной версией NHibernate.

Используете ли вы native в качестве генератора идентификаторов для ваших организаций? Потому что это заставит каждую вставку выполняться самостоятельно, выбрав обратно сгенерированный идентификатор. Это потому, что база данных должна генерировать каждый идентификатор. Это также объясняет, почему пакетная обработка работает с обновлениями.

Если возможно, вам следует перейти, например, к hilo стратегия или даже guid, если вас не интересуют (легко) читаемые идентификаторы.

У Фабио есть интересный пост здесь по этой теме.

...