Кіріспе
Нысанды-реляциялық карталау шешімі, .NET және Mono кітапханасы
the NET and Mono library
NHibernate – Microsoft .NET платформасы үшін Hibernate нысанды-реляциялық карталау (ORM) құралының порты. Ол объектіге бағытталған домендік модельді дәстүрлі реляциялық деректер базасына карталауға арналған негізді ұсынады. Оның мақсаты – әзірлеушіні реляциялық деректерді сақтауға байланысты бағдарламалау жұмысының маңызды бөлігінен босату. NHibernate – GNU Lesser General Public License лицензиясымен таратылатын тегін және ашық кодты бағдарламалық қамтамасыз ету.
Өзіндік ерекшеліктері
NHibernate-тің басты ерекшелігі – .NET сыныптарын деректер базасы кестелерімен (және CLR дерек түрлерін SQL дерек түрлерімен) байланыстыру. NHibernate деректерді сұрау және алу құралдарын ұсынады. Ол SQL командаларын автоматты түрде жасайды және деректер жиынтығымен қолмен жұмыс істеу және объектілерді түрлендіру қажеттілігін жояды, соның арқасында қосымшаны көптеген SQL деректер базасына оңай көшіруге болады, деректер базасын ауыстыру өте аз өнімділік шығындарымен жүзеге асырылады. NHibernate қарапайым CLR объектілері (POCOs) үшін түсінікті сақтауды қамтамасыз етеді. Тұрақты сыныпқа қойылатын жалғыз талап – аргумент қабылдамайтын конструктор, ол міндетті түрде қоғамдық болуы керек емес. (Кейбір қосымшаларда дұрыс жұмыс істеуі үшін Equals және GetHashCode әдістеріне ерекше назар қажет болуы мүмкін.)
Тарих
Том Барретт NHibernate-ті бастады, кейін оны Майк Доерфлер мен Питер Смуловикс дамытты. 2005 жылдың соңында JBoss, Inc. (қазір Red Hat компаниясының бір бөлігі) NHibernate-тің сол кездегі жетекші әзірлеушісі Сергей Кощеевті оның болашақ нұсқаларымен толық уақыт жұмыс істеуге шақырды. 2006 жылдың соңында JBoss осы жобаға қолдау көрсетуді тоқтатты. NHibernate қазір толығымен қоғамдық қауымдастықпен дамытылып, басқарылады. Эндрю Майоров салған NHibernate логотипі 2008 жылға дейін таңдалды. Онда ұзақ қыстайтын кірпік қосақ бейнеленген. 1.0 нұсқасы Hibernate 2.1 мүмкіндіктерінің жиынтығын, сондай-ақ Hibernate 3-тен бірқатар мүмкіндіктерді қамтыды. 2007 жылдың қарашасында жарық көрген NHibernate 1.2.1, Hibernate 3-тен тағы көп мүмкіндіктерді, сонымен қатар .NET 2.0, сақталған процедуралар, генериктер және null-ға рұқсат етілген типтерге қолдауды ұсынды.
NHibernate 2.0 (Қоянбайтын ұйқы)
NHibernate 2.0 2008 жылдың 23 тамызында жарияланды. Ол мүмкіндіктері жағынан Hibernate 3.2-ге шамалас. 2.0 нұсқасымен NHibernate .NET 1.1 қолдауын тоқтатты. NHibernate 2.1 2009 жылдың 17 шілдесінде жарияланды.
NHibernate 4.0 - ұйқы режимі
NHibernate 4.0 2014 жылдың 17 тамызында жарияланды. Бұл нұсқаға NET Framework 4.0 немесе одан жоғары нұсқасы талап етіледі.
NHibernate 5.0 - тің орындалуы
NHibernate 5.0 2017 жылдың 10 қазанында жарияланды. Ол асинхронды бағдарламалауды қолдайды. Бұл нұсқаға NET Framework 4.6.1 немесе одан жоғары нұсқасы талап етіледі.
NHibernate 5.1
NHibernate 5.1 2018 жылдың 17 наурызында жарияланды. Ол .NET Standard 2.0 және .NET Core 2.0 платформаларын қолдайды.
Ұйқыдағы ұйқы 5. 2
NHibernate 5.2 2018 жылдың 4 желтоқсанында жарияланды.
Үлестер
Ашық кодты бағдарламалық құрал ретінде NHibernate пайдаланушыларынан көптеген үлестер алды. LINQ-тің іске асырылуы NHibernate-пен Тілдік интеграцияланған сұранысты қолдануға мүмкіндік берді.
NHibernate профильдеушісі
NHibernate Profiler – NHibernate үшін деректерді қатынасқа келтіру құралы (ORM) және оның нақты уақытты визуалды жөндеушісі болып табылады. Ол қолданбаның жалпы өнімділігін арттыру үшін деректер базасының артық жұмысын болдырмау мақсатында тиімсіз SQL сұрауларын анықтайды. NHibernate Profiler сондай-ақ пайдаланушыларды уақыт бойынша көп шығынға түсетін деректер сұраулары туралы ескертеді және оларды C# кодындағы нақты жолға бағыттайды.