NHibernate: маленькая хитрость при работе с Oracle или PostgreSQLИсточник: habrahabr alexanderzaytsev
В ADO.NET провайдерах для Oracle, PostgreSQL и, возможно, других есть одна неприятная особенность, которая может сказаться на производительности вашего приложения, если вы запрашиваете у сервера большие объемы данных: они не кэшируют вызовы метода IDataReader.GetOrdinal . Как оказалось это очень критично для NHibernate, но, к счастью, разработчики NHibernate (а точнее Hibernate) эту проблему заметили и уже решили. Но эта фича осталась незамеченной и почти не задокументированной.
C помощью FluentNHibernate это делается так:
Метод _ExposeConfiguration_ добавляет действия, которые будут вызваны над объектом NHibernate.Cfg.Configuration при вызове метода BuildConfiguration . Таким образом код выше будет аналогичен следующему:
Ссылки по теме |