Введение
Решение для объектно-реляционного отображения, библиотека .NET и Mono.
the NET and Mono library
NHibernate — это порт инструмента объектно-реляционного отображения (ORM) Hibernate для платформы Microsoft .NET. Он предоставляет основу для сопоставления объектно-ориентированной предметной области с традиционной реляционной базой данных. Его цель — избавить разработчика от значительной части задач программирования, связанных с постоянным хранением реляционных данных. NHibernate — это бесплатное программное обеспечение с открытым исходным кодом, распространяемое по лицензии GNU Lesser General Public License.
Резюме характеристик
Основная особенность NHibernate — это сопоставление классов .NET с таблицами баз данных (и типов данных CLR с типами данных SQL). NHibernate предоставляет инструменты для запроса и извлечения данных. Он генерирует SQL-команды и избавляет от необходимости ручной обработки наборов данных и преобразования объектов, обеспечивая переносимость приложения на большинство SQL-баз данных с минимальными накладными расходами на производительность. NHibernate обеспечивает прозрачное сохранение простых старых объектов CLR (POCO). Единственным строгим требованием к персистентному классу является конструктор без параметров, который не обязательно должен быть публичным. (Для корректной работы в некоторых приложениях также требуется особое внимание к методам Equals и GetHashCode.)
История
Том Барретт начал разработку NHibernate, а позже к ней присоединились Майк Дёрфлер и Питер Смуловикс. В конце 2005 года JBoss, Inc. (ныне часть Red Hat) наняла Сергея Кощеева, тогдашнего ведущего разработчика NHibernate, для работы полный рабочий день над будущими версиями проекта. В конце 2006 года JBoss прекратил поддержку этого проекта. В настоящее время NHibernate полностью разрабатывается и поддерживается сообществом. Логотип NHibernate, разработанный Эндрю Майоровым, был выбран до 2008 года. На нем изображена соня, известная своими длительными периодами спячки. Версия 1.0 соответствовала функциональности Hibernate 2.1, а также включала ряд функций из Hibernate 3. NHibernate 1.2.1, выпущенная в ноябре 2007 года, представила множество новых функций из Hibernate 3 и поддержку .NET 2.0, хранимых процедур, обобщенных типов и допускающих значения NULL типов.
НХибернат 2.0
NHibernate 2.0 был выпущен 23 августа 2008 года. Он сопоставим с Hibernate 3.2 по функциональности. С выходом версии 2.0, NHibernate прекратил поддержку .NET Framework 1.1. NHibernate 2.1 был выпущен 17 июля 2009 года.
НХибернат 4.0
NHibernate 4.0 был выпущен 17 августа 2014 года. Эта версия требует .NET Framework 4.0 или более поздней версии.
NHibernate 5.0 (Найдись в спячке)
NHibernate 5.0 был выпущен 10 октября 2017 года. Он предоставляет поддержку асинхронного программирования. Для этой версии требуется .NET Framework 4.6.1 или более поздней версии.
Нигибернат 5.1
NHibernate 5.1 был выпущен 17 марта 2018 года. Он поддерживает .NET Standard 2.0 и .NET Core 2.0.
Не спящий 5.2
NHibernate 5.2 был выпущен 4 декабря 2018 года.
Вклад
Как программное обеспечение с открытым исходным кодом, NHibernate получил множество вкладов от своих пользователей. Реализация LINQ позволила использовать Language Integrated Query (языковые интегрированные запросы) вместе с NHibernate.
Профилировщик NHibernate
NHibernate Profiler – это инструмент объектно-реляционного отображения (ORM), который выступает в качестве визуального отладчика в реальном времени для NHibernate. Он выявляет неэффективные SQL-запросы к данным, чтобы исключить излишнюю нагрузку на базу данных и повысить общую производительность приложения. NHibernate Profiler также предупреждает пользователей о запросах, занимающих слишком много времени, и указывает на точную строку кода на C#.