NHibernate
NHibernate என்பது மைக்ரோசாப்ட். நெட் இயங்குதளத்திற்கான ஒரு பொருள்-உறவு வரைபடம் (ORM) தீர்வாகும். இது ஒரு பாரம்பரிய தொடர்புடைய தரவுத்தளத்திற்கு ஒரு பொருள் சார்ந்த டொமைன் மாதிரியை வரைபடமாக்குவதற்கான கட்டமைப்பை வழங்குகிறது. தொடர்புடைய தரவு நிலைத்தன்மை தொடர்பான நிரலாக்க பணிகளின் குறிப்பிடத்தக்க பகுதியிலிருந்து டெவலப்பரை விடுவிப்பதே இதன் நோக்கம். NHibernate என்பது இலவச மற்றும் திறந்த மூல மென்பொருளாகும், இது குனு லெஸ்ஸர் பொது பொது உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது. ஹைபர்னேட் என்பது ஹைபர்னேட்டின் ஒரு துறைமுகமாகும். NHibernate இன் முதன்மை அம்சம். NET வகுப்புகளிலிருந்து தரவுத்தள அட்டவணைகள் வரை (மற்றும் CLR தரவு வகைகளிலிருந்து SQL தரவு வகைகள் வரை) வரைபடமாக்கல் ஆகும். NHibernate தரவு வினவல் மற்றும் மீட்டெடுப்பு கருவிகளை வழங்குகிறது. இது SQL கட்டளைகளை உருவாக்குகிறது மற்றும் கையேடு தரவு தொகுப்பு கையாளுதல் மற்றும் பொருள் மாற்றத்தின் தேவையை நீக்குகிறது, பயன்பாட்டை பெரும்பாலான SQL தரவுத்தளங்களுக்கு சிறியதாக வைத்திருக்கிறது, தரவுத்தள பெயர்வுத்திறன் மிகக் குறைந்த செயல்திறன் மேல்நிலையில் வழங்கப்படுகிறது. என். எச். ஐ. பிர்னேட் எளிய பழைய சி. எல். ஆர் பொருள்களுக்கு (பி. ஓ. சி. ஓ) வெளிப்படையான நிலைத்தன்மையை வழங்குகிறது. ஒரு நிலையான வகுப்பிற்கான ஒரே கடுமையான தேவை ஒரு வாதம் இல்லாத கட்டமைப்பாளர், இது பொதுவில் இருக்க வேண்டியதில்லை. (சில பயன்பாடுகளில் சரியான நடத்தைக்கு ஈக்வல்ஸ் () மற்றும் கெட்ஹாஷ்கோட் () முறைகளுக்கு சிறப்பு கவனம் தேவைப்படுகிறது.) வரலாறு டாம் பாரெட் NHibernate ஐத் தொடங்கினார், பின்னர் மைக் டோர்ஃப்ளர் மற்றும் பீட்டர் ஸ்முலோவிக்ஸ் ஆகியோரால் தேர்ந்தெடுக்கப்பட்டார். 2005 ஆம் ஆண்டின் இறுதியில், ஜேபோஸ், இன்க் (இப்போது ரெட் ஹேட்டின் ஒரு பகுதி) அதன் எதிர்கால பதிப்புகளில் முழுநேர வேலை செய்ய NHibernate இன் அப்போதைய முன்னணி டெவலப்பரான செர்ஜி கோஷ்சியேவை நியமித்தது. 2006 ஆம் ஆண்டின் இறுதியில், இந்த திட்டத்திற்கான ஆதரவை ஜேபாஸ் நிறுத்தினார். NHibernate இப்போது முற்றிலும் சமூகத்தால் உருவாக்கப்பட்டு வழிநடத்தப்படுகிறது. பதிப்பு 1 ஹைபர்னேட் 2 இன் அம்சத் தொகுப்பையும், ஹைபர்னேட் 3 இன் பல அம்சங்களையும் பிரதிபலித்தது. நவம்பர் 2007 இல் வெளியிடப்பட்ட NHibernate 1.2.1, ஹைபர்னேட் 3 இலிருந்து மேலும் பல அம்சங்களை அறிமுகப்படுத்தியது மற்றும். NET 2.0 க்கான ஆதரவு, சேமிக்கப்பட்ட நடைமுறைகள், ஜெனரிக்ஸ் மற்றும் ரத்துசெய்யக்கூடிய வகைகள். NHibernate 2 NHibernate 2 ஆகஸ்ட் 23,2008 அன்று வெளியிடப்பட்டது. இது அம்சங்களின் அடிப்படையில் ஹைபர்னேட் 3.2 உடன் ஒப்பிடத்தக்கது. பதிப்பு 2 வெளியீட்டில், NHibernate. NET 1.1 க்கான ஆதரவை கைவிட்டது. NHibernate 2.1 ஜூலை 17,2009 அன்று வெளியிடப்பட்டது. NHibernate 3.0 டிசம்பர் 4,2010 அன்று வெளியிடப்பட்டது, மேலும் இது. NET 3.5 ஐப் பயன்படுத்திய முதல் பதிப்பாகும், இது போன்ற அம்சங்களுடன்ஃ ஒருங்கிணைந்த LINQ ஆதரவு வலுவாக தட்டச்சு செய்யப்பட்ட அளவுகோல்கள் போன்ற API எனப்படும் QueryOver புதிய AST-அடிப்படையிலான பாகுபாடு HQL இயந்திரத்திற்கான ஆதரவு சோம்பேறி ஏற்றுதல் நெடுவரிசைகளுக்கான NHibernate 3.2 NHibernate 3.2 ஏப்ரல் 2011 இல் வெளியிடப்பட்டது. புதிய அம்சங்களில் பின்வருவன அடங்கும்ஃ குறியீடு மூலம் வரைபடமாக்கல்ஃ சரளமான உள்ளமைவு,. எச். பி. எம். எக்ஸ். எம். எல் கோப்புகள் இனி தேவையில்லை; உட்பிரிவுஃ எஸ். க்யூ. எல் காட்சிகளை நிறுவனங்களாக வரைபடமாக்கும் திறன்; எச். க்யூ. எல் பேஜிங்ஃ எச். க்யூ. எல் மீது டேக் மற்றும் ஸ்கிப்; ஒருங்கிணைந்த பைட்ட்கோட் வழங்குநர்ஃ பயன்படுத்த ஒரு குறைவான டி. எல். எல். NHibernate 4.0 NHibernate 4.0 ஆகஸ்ட் 17,2014 அன்று வெளியிடப்பட்டது. இந்த பதிப்பிற்கு. NET கட்டமைப்பு 4 அல்லது அதற்கு மேல் தேவைப்படுகிறது. NHibernate 5.0 NHibernate 5.0 அக்டோபர் 10,2017 அன்று வெளியிடப்பட்டது. இது ஒத்திசைவற்ற நிரலாக்கத்திற்கான ஆதரவை வழங்குகிறது. இந்த பதிப்பிற்கு. NET கட்டமைப்பு 4.6.1 அல்லது அதற்குப் பிறகு தேவைப்படுகிறது. NHibernate 5.1 NHibernate 5.1 மார்ச் 17,2018 அன்று வெளியிடப்பட்டது. இது. NET தரநிலை 2 மற்றும். NET கோர் 2 ஐ ஆதரிக்கிறது. NHibernate 5.2 NHibernate 5.2 டிசம்பர் 4,2018 அன்று வெளியிடப்பட்டது. NHibernate 5.3 ஜூலை 19,2020 அன்று வெளியிடப்பட்டது. பங்களிப்புகள் திறந்த மூல மென்பொருளாக, NHibernate அதன் பயனர்களிடமிருந்து பல பங்களிப்புகளைப் பெற்றுள்ளது. LINQ இன் அமலாக்கம் NHibernate உடன் மொழி ஒருங்கிணைந்த வினவல் பயன்பாட்டை அனுமதித்துள்ளது. NHibernate சுயவிவரம் NHibernate சுயவிவரம் என்பது ஒரு பொருள்-உறவு வரைபடக் கருவியாகும் (ORM) இது NHibernate க்கான நிகழ்நேர காட்சி பிழைத்திருத்தமாக செயல்படுகிறது. பயன்பாட்டின் ஒட்டுமொத்த செயல்திறனை அதிகரிக்க தரவுத்தளத்தின் தேவையற்ற வேலையை அகற்ற இது திறமையற்ற SQL தரவு வினவல்களை அடையாளம் காட்டுகிறது. நேரத்திற்கு அதிகமாக செலவாகும் தரவு வினவல்களுக்கு NHibernate சுயவிவரம் பயனர்களை எச்சரிக்கிறது மற்றும் சி #குறியீட்டில் உள்ள சரியான வரிக்கு அவர்களை வழிநடத்துகிறது. தரவுத்தளத்தில் ஒரு பொருளைச் சேர்க்கவும், NHibernate ஐப் பயன்படுத்தி தரவுத்தளத்தில் ஒரு பொருளை எவ்வாறு மீட்டெடுப்பது, மாற்றியமைப்பது மற்றும் புதுப்பிப்பது என்பதைக் காட்ட ஒரு குறியீடு துணுக்கை இங்கே மாதிரி செய்யுங்கள். தரவுத்தளத்தில் ஒரு வாடிக்கையாளரைச் சேர்க்கவும்// 'அமர்வு தொழிற்சாலை' என்பது ஒரு பயன்பாட்டு வாழ்நாளுக்கு ஒரு முறை கட்டப்பட்ட ஒரு நூல்-பாதுகாப்பான பொருள் (உருவாக்க சில நொடிகள் ஆகலாம்)// இது உள்ளமைவு கோப்புகளின் அடிப்படையில் தரவுத்தள அட்டவணைகள் சி #பொருள்களுக்கு எவ்வாறு வரைபடமாக்கப்படுகின்றன என்பதைக் கட்டுப்படுத்துகிறது// (எ. கா. தரவுத்தள அட்டவணையில் உள்ள எந்த நெடுவரிசையில் 'அமர்வு' பாதுகாப்பாகவும் வேகமாகவும் இல்லை என்பதை எந்த பண்பு வரைபடமாக்குகிறது மற்றும் (வர் அமர்வு = sessionFactory.OpenSession ()) {// பரிவர்த்தனை பயன்படுத்தி தரவுத்தளத்துடன் இணைப்பாகக் கருதப்படலாம் (ஐடி பரிவர்த்தனை பரிவர்த்தனை = session.BeginTransaction ()) {// ஐப் பயன்படுத்தி டிபி பரிவர்த்தனையைக் குறிக்கிறது கீழே உள்ள வரி வாடிக்கையாளரை தரவுத்தளத்தில் செருக NHibernate இன் பொருட்களின் பட்டியலில் சேர்க்கிறது// ஆனால் இது இந்த கட்டத்தில் எஸ். க்யூ. எல் செருகும் கட்டளையை இயக்காது *. //* ஐடி புலம் தரவுத்தளத்தால் உருவாக்கப்பட்டால் (எ. கா. ஒரு தானியங்கி-மேம்படுத்தப்பட்ட எண்)// பின்னர் NHibernate SQL INSERT ஐ இயக்கும். சேமிப்பு session.Save என்று அழைக்கப்படும் போது (புதிய வாடிக்கையாளர் {ID = Guid.NewGuid (), முதல் பெயர் = "முதலாளி", வயது = 50});// கீழே உள்ள அழைப்பு SQL INSERT ஐ இயக்கும் மற்றும் பரிவர்த்தனையை transaction.Commit ();}}// தரவுத்தளத்திலிருந்து வாடிக்கையாளரை மீட்டெடுக்கும், பதிவை மாற்றியமைத்து (வர் அமர்வு = sessionFactory.OpenSession ()) பயன்படுத்தி தரவுத்தளத்தை புதுப்பிக்கும். //ஃபர்ஸ்ட் ஆர் டிஃபால்ட் அழைக்கப்படும் போது மட்டுமே என். எச். ஐ. பி. ஆர்னேட் எஸ். க்யூ. எல் வினவலை இயக்கும் வாடிக்கையாளர் = session.Query <வாடிக்கையாளர்> (). எங்கே (சி => c.Token = டோக்கன்). ஃபர்ஸ்ட் ஆர் டிஃபால்ட் ();// இப்போது வாடிக்கையாளர் 'அமர்வு' பொருளின் ஒரு பகுதியாகும், மேலும் என். எச். ஐ. பி. ஆர்னேட் அதில் செய்யப்பட்ட மாற்றங்களைக் கண்காணிக்கிறது// என்றால் (வாடிக்கையாளர்! = பூஜ்யம்) {// ஒரு பொருளின் சொத்தை மாற்றுவது எஸ். க்யூ. எல் செயல்படுத்தப்படுவதை ஏற்படுத்தாது customer.TokenVerified = உண்மை;// பரிவர்த்தனை முடிவுகளை ஒரு எஸ். க்யூ. எல் புதுப்பிப்பு அறிக்கையில்// என். எச். ஐ. பி. ஆர்னேட் கண்காணித்தது பொருள்-உறவு மேப்பிங் மென்பொருளின் பட்டியலையும் பார்க்கவும். NET விடாமுயற்சி API (NPA) குறிப்புகள் நூலியல் வெளிப்புற இணைப்புகள் NHibernate முகப்புப்பக்கம் இலவச மென்பொருள் C ஷார்ப். NET நிரலாக்க கருவிகள். NET பொருள்-உறவு மேப்பிங் கருவிகள் பொருள்-உறவு மேப்பிங்