Стоит ли переходить на NHibernate 2.x с NHibernate 1.2? - PullRequest
1 голос
/ 08 марта 2010

Мы используем nHibernate 1.2 в системе, которая не работает хорошо. Будет ли некоторое улучшение производительности, если мы перейдем на последнюю версию nHibernate?

В целом, стоит ли переходить на последнюю версию nHibernate?

РЕДАКТИРОВАТЬ : я хочу использовать следующие функции для повышения производительности.
1. Кэш второго уровня. 2. Присоединился к таблице. 3. MultiQuery для пакетных запросов.

Ответы [ 4 ]

5 голосов
/ 08 марта 2010

Если производительность связана с вашей проблемой, рассмотрите возможность использования NHibernate Profiler .

NHibernate Profiler - это визуальный отладчик в реальном времени, позволяющий команде разработчиков получить ценные сведения и понять, как они используют NHibernate.

2 голосов
/ 11 марта 2010

Сделав преобразование из 1.2 в 2.0.1, а затем в 2.1.2, я могу твердо сказать, что я не вернусь.

Реализация MultiCriteria изменила мою игру (как по производительности, так и по стилю кодирования). Кэш второго уровня, вероятно, такой же, как и в 1.2, и для таблицы соединений я их не использую, поэтому не могу комментировать.

Улучшения повсюду, и некоторые части были переписаны. Ничего не сломалось, кроме тех же изменений пространства имен и изменений имени класса, функциональность была одинаковой. В целом, я рекомендую это.

1 голос
/ 08 марта 2010

Только если вам требуется использовать новейшие функции, предлагаемые NHibernate 2.0. Вот ссылка, где перечислены новые функции.

Дорожная карта

Мой опыт научил меня, почему выражение: «Если оно не сломано, не чините его!» стоит. Это то же самое здесь. Однако NH 2.1.2.GA довольно интересный. Вопрос, который вы должны задать: «Требуются ли мне эти новые функции или они будут полезны для будущего расширения моего проекта?» Если да, то сделайте это, в противном случае оставьте все как есть.

1 голос
/ 08 марта 2010

В зависимости - нет. Я бы посоветовал перейти прямо к стволу разработки .... для дополнительной / лучшей поддержки LINQ. Не уверен, когда это будет бета, но я бы рискнул. «Текущий» LINQ трудно использовать (без запроса «StartsWith», поэтому даже основные формы поиска в основном отсутствуют).

Если вы можете рисковать, оно того стоит. Само по себе LINQ всегда является причиной для перехода - довольно жестокий шаг к гораздо лучшему поиску;)

...