NHibernate
ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ನೇಟ್ ಎಂಬುದು ಮೈಕ್ರೋಸಾಫ್ಟ್. ನೆಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಾಗಿ ಒಂದು ಆಬ್ಜೆಕ್ಟ್-ರಿಲೇಷನಲ್ ಮ್ಯಾಪಿಂಗ್ (ಒಆರ್ಎಂ) ಪರಿಹಾರವಾಗಿದೆ. ಇದು ಸಾಂಪ್ರದಾಯಿಕ ಸಂಬಂಧಿತ ದತ್ತಸಂಚಯಕ್ಕೆ ವಸ್ತು-ಆಧಾರಿತ ಡೊಮೇನ್ ಮಾದರಿಯನ್ನು ಮ್ಯಾಪ್ ಮಾಡಲು ಚೌಕಟ್ಟನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದರ ಉದ್ದೇಶವು ಡೆವಲಪರ್ ಅನ್ನು ರಿಲೇಷನಲ್ ಡೇಟಾ ನಿರಂತರತೆ-ಸಂಬಂಧಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಾರ್ಯಗಳ ಗಮನಾರ್ಹ ಭಾಗದಿಂದ ನಿವಾರಿಸುವುದು. ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ನೇಟ್ ಎಂಬುದು ಉಚಿತ ಮತ್ತು ಮುಕ್ತ-ಮೂಲ ತಂತ್ರಾಂಶವಾಗಿದ್ದು, ಇದನ್ನು ಜಿ. ಎನ್. ಯು. ಲೆಸ್ಸರ್ ಜನರಲ್ ಪಬ್ಲಿಕ್ ಲೈಸೆನ್ಸ್ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ. ನೈಬರ್ನೇಟ್ ಎಂಬುದು ಹೈಬರ್ನೇಟ್ನ ಒಂದು ಬಂದರಾಗಿದೆ. ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್ನೇಟ್ನ ಪ್ರಾಥಮಿಕ ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ. ಎನ್. ಇ. ಟಿ. ತರಗತಿಗಳಿಂದ ದತ್ತಸಂಚಯ ಕೋಷ್ಟಕಗಳವರೆಗೆ (ಮತ್ತು ಸಿ. ಎಲ್. ಆರ್. ದತ್ತಾಂಶ ಪ್ರಕಾರಗಳಿಂದ ಎಸ್. ಕ್ಯೂ. ಎಲ್. ದತ್ತಾಂಶ ಪ್ರಕಾರಗಳವರೆಗೆ) ಮ್ಯಾಪಿಂಗ್ ಮಾಡುವುದು. ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ನೇಟ್ ದತ್ತಾಂಶ ವಿಚಾರಣೆ ಮತ್ತು ಮರುಪಡೆಯುವ ಸಾಧನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು SQL ಆಜ್ಞೆಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ ಮತ್ತು ಹಸ್ತಚಾಲಿತ ದತ್ತಾಂಶ ಸೆಟ್ ನಿರ್ವಹಣೆ ಮತ್ತು ಆಬ್ಜೆಕ್ಟ್ ಪರಿವರ್ತನೆಯ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹೆಚ್ಚಿನ SQL ಡೇಟಾಬೇಸ್ಗಳಿಗೆ ಪೋರ್ಟಬಲ್ ಆಗಿ ಇರಿಸುತ್ತದೆ, ಡೇಟಾಬೇಸ್ ಪೋರ್ಟಬಿಲಿಟಿ ಅನ್ನು ಕಡಿಮೆ ಕಾರ್ಯಕ್ಷಮತೆಯ ಓವರ್ಹೆಡ್ನಲ್ಲಿ ತಲುಪಿಸಲಾಗುತ್ತದೆ. ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ನೇಟ್ ಪ್ಲೈನ್ ಓಲ್ಡ್ ಸಿ. ಎಲ್. ಆರ್ ಆಬ್ಜೆಕ್ಟ್ಗಳಿಗೆ (ಪಿ. ಓ. ಸಿ. ಓ. ಗಳು) ಪಾರದರ್ಶಕ ಸ್ಥಿರತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಿರಂತರ ವರ್ಗದ ಏಕೈಕ ಕಟ್ಟುನಿಟ್ಟಾದ ಅವಶ್ಯಕತೆಯೆಂದರೆ ಯಾವುದೇ ವಾದವಿಲ್ಲದ ಕನ್ಸ್ಟ್ರಕ್ಟರ್, ಇದು ಸಾರ್ವಜನಿಕವಾಗಿರಬೇಕಾಗಿಲ್ಲ. (ಕೆಲವು ಅನ್ವಯಿಕೆಗಳಲ್ಲಿ ಸರಿಯಾದ ನಡವಳಿಕೆಯು ಈಕ್ವಲ್ಸ್ () ಮತ್ತು ಗೆಟ್ಹ್ಯಾಶ್ಕೋಡ್ () ವಿಧಾನಗಳಿಗೆ ವಿಶೇಷ ಗಮನವನ್ನು ನೀಡುತ್ತದೆ.) ಟಾಮ್ ಬ್ಯಾರೆಟ್ NHibernate ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದರು, ಮತ್ತು ನಂತರ ಮೈಕ್ ಡೋರ್ಫ್ಲರ್ ಮತ್ತು ಪೀಟರ್ ಸ್ಮುಲೋವಿಕ್ಸ್ ಅವರಿಂದ ತೆಗೆದುಕೊಳ್ಳಲ್ಪಟ್ಟರು. 2005ರ ಕೊನೆಯಲ್ಲಿ, ಜೆಬಾಸ್, ಇಂಕ್. (ಈಗ ರೆಡ್ ಹ್ಯಾಟ್ನ ಭಾಗವಾಗಿದೆ) ಅದರ ಭವಿಷ್ಯದ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಪೂರ್ಣಾವಧಿಯ ಕೆಲಸ ಮಾಡಲು ಆಗಿನ NHibernateನ ಪ್ರಮುಖ ಡೆವಲಪರ್ ಸೆರ್ಗೆ ಕೊಶ್ಚಿಯೇವ್ ಅವರನ್ನು ನೇಮಿಸಿಕೊಂಡಿತು. 2006ರ ಕೊನೆಯಲ್ಲಿ, ಜೆಬಾಸ್ ಈ ಯೋಜನೆಗೆ ಬೆಂಬಲವನ್ನು ನಿಲ್ಲಿಸಿದರು. ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ನೇಟ್ ಅನ್ನು ಈಗ ಸಂಪೂರ್ಣವಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ಸಮುದಾಯವು ಅದನ್ನು ಮುನ್ನಡೆಸುತ್ತಿದೆ. 1ನೇ ಆವೃತ್ತಿಯು ಹೈಬರ್ನೇಟ್ 2.1ರ ವೈಶಿಷ್ಟ್ಯ ಸಮೂಹವನ್ನು ಮತ್ತು ಹೈಬರ್ನೇಟ್ 3ರ ಹಲವಾರು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸಿತು. ನವೆಂಬರ್ 2007ರಲ್ಲಿ ಬಿಡುಗಡೆಯಾದ NHibernate 1.2.1, ಹೈಬರ್ನೇಟ್ 3ನಿಂದ ಇನ್ನೂ ಅನೇಕ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪರಿಚಯಿಸಿತು ಮತ್ತು. NET 2.0, ಸಂಗ್ರಹಿಸಿದ ಕಾರ್ಯವಿಧಾನಗಳು, ಜೆನೆರಿಕ್ಗಳು ಮತ್ತು ರದ್ದಾಗಬಹುದಾದ ಪ್ರಕಾರಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ನೀಡಿತು. NHibernate 2 NHibernate 2 ಅನ್ನು ಆಗಸ್ಟ್ 23,2008 ರಂದು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ವೈಶಿಷ್ಟ್ಯಗಳ ವಿಷಯದಲ್ಲಿ ಇದನ್ನು ಹೈಬರ್ನೇಟ್ 3.2 ಗೆ ಹೋಲಿಸಬಹುದು. ಆವೃತ್ತಿ 2 ಬಿಡುಗಡೆಯೊಂದಿಗೆ, NHibernate. NET 1.1 ಗೆ ಬೆಂಬಲವನ್ನು ಕೈಬಿಟ್ಟಿತು. ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ನೇಟ್. 2,2009ರ ಜುಲೈ 17ರಂದು ಬಿಡುಗಡೆಯಾಯಿತು. NHibernate 3.0 ಅನ್ನು ಡಿಸೆಂಬರ್ 4,2010 ರಂದು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು, ಮತ್ತು ಇದು. NET 3.5 ಅನ್ನು ಬಳಸಿದ ಮೊದಲ ಆವೃತ್ತಿಯಾಗಿದ್ದು, ಈ ಕೆಳಗಿನ ವೈಶಿಷ್ಟ್ಯಗಳೊಂದಿಗೆಃ ಇಂಟಿಗ್ರೇಟೆಡ್ LINQ ಬೆಂಬಲವು ಸ್ಟ್ರಾಂಗ್ಲಿ ಟೈಪ್ ಮಾಡಲಾದ ಮಾನದಂಡಗಳಂತಹ API ಅನ್ನು ಕ್ವೆರಿಓವರ್ ಎಂದು ಕರೆಯುತ್ತದೆ, HQL ಎಂಜಿನ್ಗಾಗಿ ಹೊಸ AST-ಆಧಾರಿತ ಪಾರ್ಸರ್ ಲೇಜಿ ಲೋಡಿಂಗ್ ಕಾಲಮ್ಗಳಿಗಾಗಿ NHibernate 3.2 NHibernate 3.2 ಅನ್ನು ಏಪ್ರಿಲ್ 2011 ರಲ್ಲಿ ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಒಳಗೊಂಡಿವೆಃ ಕೋಡ್ ಮೂಲಕ ಮ್ಯಾಪಿಂಗ್ಃ ನಿರರ್ಗಳವಾದ ಸಂರಚನೆ,. ಎಚ್. ಬಿ. ಎಂ. ಎಕ್ಸ್. ಎಂ. ಎಲ್. ಕಡತಗಳು ಇನ್ನು ಮುಂದೆ ಅಗತ್ಯವಿಲ್ಲ; ಉಪ ಆಯ್ಕೆಃ ಎಸ್. ಕ್ಯೂ. ಎಲ್ ವೀಕ್ಷಣೆಗಳನ್ನು ಘಟಕಗಳಾಗಿ ಮ್ಯಾಪ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯ; ಎಚ್. ಕ್ಯೂ. ಎಲ್ ಪೇಜಿಂಗ್ಃ ಎಚ್. ಕ್ಯೂ. ಎಲ್. ನಲ್ಲಿ ಟೇಕ್ ಮತ್ತು ಸ್ಕಿಪ್; ಇಂಟಿಗ್ರೇಟೆಡ್ ಬೈಟ್ಕೋಡ್ ಪ್ರೊವೈಡರ್ಃ ನಿಯೋಜಿಸಲು ಒಂದು ಕಡಿಮೆ ಡಿ. ಎಲ್. ಎಲ್. NHibernate 4.0 NHibernate 4 ಅನ್ನು ಆಗಸ್ಟ್ 17,2014 ರಂದು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ಈ ಆವೃತ್ತಿಗೆ. NET ಫ್ರೇಮ್ವರ್ಕ್ 4 ಅಥವಾ ನಂತರದ ಅಗತ್ಯವಿದೆ. NHibernate 5.0 NHibernate 5.0 ಅನ್ನು ಅಕ್ಟೋಬರ್ 10,2017 ರಂದು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ಇದು ಅಸಿಂಕ್ರೋನಸ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ಗೆ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಈ ಆವೃತ್ತಿಗೆ. NET ಫ್ರೇಮ್ವರ್ಕ್ 4.6.1 ಅಥವಾ ನಂತರದ ಅಗತ್ಯವಿದೆ. NHibernate 5.1 NHibernate 5.1 ಅನ್ನು ಮಾರ್ಚ್ 17,2018 ರಂದು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ಇದು. ನೆಟ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ 2 ಮತ್ತು. ನೆಟ್ ಕೋರ್ 2 ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. NHibernate 5.2 NHibernate 5.2 ಅನ್ನು ಡಿಸೆಂಬರ್ 4,2018 ರಂದು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ಎನ್. ಎಚ್. ಹೈಬರ್ನೇಟ್ 5.3 ಅನ್ನು 2020ರ ಜುಲೈ 19ರಂದು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ಕೊಡುಗೆಗಳು ಮುಕ್ತ ಮೂಲ ತಂತ್ರಾಂಶವಾಗಿ, ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ನೇಟ್ ತನ್ನ ಬಳಕೆದಾರರಿಂದ ಅನೇಕ ಕೊಡುಗೆಗಳನ್ನು ಪಡೆದಿದೆ. ಎಲ್. ಐ. ಎನ್. ಕ್ಯು. ಅನುಷ್ಠಾನವು ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ನೇಟ್ನೊಂದಿಗೆ ಭಾಷೆಯ ಸಮಗ್ರ ಪ್ರಶ್ನೆಗಳ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸಿದೆ. ಎನ್ಎಚ್ಐಬರ್ನೇಟ್ ಪ್ರೊಫೈಲರ್ ಎನ್ಎಚ್ಐಬರ್ನೇಟ್ ಪ್ರೊಫೈಲರ್ ಒಂದು ಆಬ್ಜೆಕ್ಟ್-ರಿಲೇಷನಲ್ ಮ್ಯಾಪಿಂಗ್ ಟೂಲ್ (ಒಆರ್ಎಂ) ಆಗಿದ್ದು ಅದು ಎನ್ಎಚ್ಐಬರ್ನೇಟ್ಗಾಗಿ ನೈಜ-ಸಮಯದ ದೃಶ್ಯ ಡೀಬಗ್ಗರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಅಪ್ಲಿಕೇಶನ್ನ ಒಟ್ಟಾರೆ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಡೇಟಾಬೇಸ್ನಿಂದ ಅನಗತ್ಯ ಕೆಲಸವನ್ನು ತೊಡೆದುಹಾಕಲು ಅಸಮರ್ಥವಾದ ಎಸ್. ಕ್ಯೂ. ಎಲ್ ಡೇಟಾ ಪ್ರಶ್ನೆಗಳನ್ನು ಗುರುತಿಸುತ್ತದೆ. ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ಎನ್. ಏ. ಟಿ. ಪ್ರೊಫೈಲರ್ ಸಮಯಕ್ಕೆ ಸರಿಯಾಗಿ ಹೆಚ್ಚು ವೆಚ್ಚವಾಗುವ ದತ್ತಾಂಶ ಪ್ರಶ್ನೆಗಳ ಬಗ್ಗೆ ಬಳಕೆದಾರರನ್ನು ಎಚ್ಚರಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಸಿ #ಕೋಡ್ನಲ್ಲಿರುವ ನಿಖರವಾದ ಸಾಲಿಗೆ ನಿರ್ದೇಶಿಸುತ್ತದೆ. ಡೇಟಾಬೇಸ್ಗೆ ವಸ್ತುವನ್ನು ಸೇರಿಸಲು ಕೋಡ್ ತುಣುಕನ್ನು ಇಲ್ಲಿ ಸ್ಯಾಂಪಲ್ ಮಾಡಿ ಮತ್ತು ಎನ್ಎಚ್ಐಬರ್ನೇಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಡೇಟಾಬೇಸ್ನಲ್ಲಿರುವ ವಸ್ತುವನ್ನು ಹೇಗೆ ಹಿಂಪಡೆಯುವುದು, ಮಾರ್ಪಡಿಸುವುದು ಮತ್ತು ನವೀಕರಿಸುವುದು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ. //ಡೇಟಾಸ್ಟೋರ್ಗೆ ಗ್ರಾಹಕರನ್ನು ಸೇರಿಸಿ// 'ಸೆಷನ್ ಫ್ಯಾಕ್ಟರಿ' ಎನ್ನುವುದು ಪ್ರತಿ ಅಪ್ಲಿಕೇಶನ್ ಜೀವಿತಾವಧಿಯಲ್ಲಿ ಒಮ್ಮೆ ನಿರ್ಮಿಸಲಾದ ಥ್ರೆಡ್-ಸುರಕ್ಷಿತ ವಸ್ತುವಾಗಿದೆ (ನಿರ್ಮಿಸಲು ಸೆಕೆಂಡುಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು)// ಇದು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳ ಆಧಾರದ ಮೇಲೆ ಡೇಟಾಬೇಸ್ ಕೋಷ್ಟಕಗಳನ್ನು ಸಿ #ಆಬ್ಜೆಕ್ಟ್ಗಳಿಗೆ ಹೇಗೆ ಮ್ಯಾಪ್ ಮಾಡಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ// (ಉದಾಹರಣೆಗೆ. ಡೇಟಾಬೇಸ್ ಕೋಷ್ಟಕದಲ್ಲಿನ ಯಾವ ಅಂಕಣಕ್ಕೆ ಯಾವ ಗುಣಲಕ್ಷಣವು ನಕ್ಷೆ ಮಾಡುತ್ತದೆ)///'ಸೆಷನ್' ಅನ್ನು ಪಡೆಯಲು ಸುರಕ್ಷಿತ ಮತ್ತು ವೇಗವಾಗಿಲ್ಲ ಮತ್ತು (ವರ್ ಸೆಷನ್ = sessionFactory.OpenSession ()) {// ವ್ಯವಹಾರವನ್ನು ಬಳಸಿಕೊಂಡು ಡೇಟಾಬೇಸ್ಗೆ ಸಂಪರ್ಕವೆಂದು ಭಾವಿಸಬಹುದು (ಐಟಿ ವಹಿವಾಟು ವಹಿವಾಟು = session.BeginTransaction ()) {// ಅನ್ನು ಬಳಸಿಕೊಂಡು ಡಿಬಿ ವಹಿವಾಟನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಕೆಳಗಿನ ಸಾಲು ಡೇಟಾಬೇಸ್ಗೆ ಸೇರಿಸಲು ಗ್ರಾಹಕರನ್ನು ಎನ್ಎಚ್ಐಬರ್ನೇಟ್ನ ವಸ್ತುಗಳ ಪಟ್ಟಿಗೆ ಸೇರಿಸುತ್ತದೆ// ಆದರೆ ಇದು ಈ ಹಂತದಲ್ಲಿ ಎಸ್. ಕ್ಯೂ. ಎಲ್ ಇನ್ಸರ್ಟ್ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದಿಲ್ಲ *. //* ಐಡಿ ಕ್ಷೇತ್ರವು ಡೇಟಾಬೇಸ್ನಿಂದ ಉತ್ಪತ್ತಿಯಾಗಿದ್ದರೆ (ಉದಾ. ಒಂದು ಸ್ವಯಂ-ವರ್ಧಿತ ಸಂಖ್ಯೆ)// ನಂತರ ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ಎನ್. ಇ. ಆರ್. ಎಸ್. ಇ. ಆರ್. ಟಿ. ಅನ್ನು ಎನ್. ಎಚ್. ಐ. ಬಿ. ಆರ್. ಎನ್. ಟಿ. ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಸೇವ್ ಅನ್ನು <ಐ. ಡಿ. 3> (ಹೊಸ ಗ್ರಾಹಕ {ಐ. ಡಿ. = <ಐ. ಡಿ. 4> (), ಫಸ್ಟ್ ನೇಮ್ = "ಬಾಸ್", ವಯಸ್ಸು = 50}) ಎಂದು ಕರೆಯುವಾಗ;// ಕೆಳಗಿನ ಕರೆ ಎಸ್. ಕ್ಯೂ. ಎಲ್. ಐ. ಎನ್. ಎಸ್. ಇ. ಆರ್. ಟಿ. ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ವ್ಯವಹಾರವನ್ನು <ಐ. ಡಿ. 2> ();}}// ಡೇಟಾಬೇಸ್ನಿಂದ ಗ್ರಾಹಕರನ್ನು ಮರುಪಡೆಯುತ್ತದೆ, ದಾಖಲೆಯನ್ನು ಮಾರ್ಪಡಿಸುತ್ತದೆ ಮತ್ತು (ವರ್ ಸೆಷನ್ = <ಐ. ಡಿ. 5> ()) ಬಳಸಿ ಡೇಟಾಬೇಸ್ ಅನ್ನು ನವೀಕರಿಸುತ್ತದೆ. //ಫಾರ್ಸ್ಟ್ಆರ್ಡ್ಡಿಫಾಲ್ಟ್ ಅನ್ನು ಕರೆದಾಗ ಮಾತ್ರ ಗ್ರಾಹಕ ಗ್ರಾಹಕ = session.Query <ಗ್ರಾಹಕ> (). ಎಲ್ಲಿ (c => c.Token = = ಟೋಕನ್). ಫಾರ್ಸ್ಟ್ಆರ್ಡ್ಡಿಫಾಲ್ಟ್ ();// ಈಗ ಗ್ರಾಹಕನು 'ಸೆಷನ್' ಆಬ್ಜೆಕ್ಟ್ನ ಭಾಗವಾಗಿದೆ ಮತ್ತು (ಗ್ರಾಹಕ! = ಶೂನ್ಯ) {// ವಸ್ತುವಿನ ಆಸ್ತಿಯನ್ನು ಬದಲಾಯಿಸುವುದರಿಂದ ಎಸ್. ಕ್ಯೂ. ಎಲ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದಿಲ್ಲ customer.TokenVerified = ನಿಜ;// ವ್ಯವಹಾರದ ಫಲಿತಾಂಶಗಳನ್ನು ಎಸ್. ಕ್ಯೂ. ಎಲ್. ಅಪ್ಡೇಟ್ ಹೇಳಿಕೆಯಲ್ಲಿ ಬದ್ಧಗೊಳಿಸುವುದು// ಎನ್. ಎಚ್. ಐಬರ್ನೇಟ್ 'ಗ್ರಾಹಕ' ಎಂಬ ಅಂಶದ ಮೇಲೆ ನಿಗಾ ಇಡುತ್ತದೆ. ಆಬ್ಜೆಕ್ಟ್-ರಿಲೇಷನಲ್ ಮ್ಯಾಪಿಂಗ್ ಸಾಫ್ಟ್ವೇರ್ನ ಪಟ್ಟಿಯನ್ನು ಸಹ ನೋಡಿ. NET ಪರ್ಸಿಸ್ಟೆನ್ಸ್ API (NPA) ಉಲ್ಲೇಖಗಳು ಗ್ರಂಥಸೂಚಿ ಬಾಹ್ಯ ಕೊಂಡಿಗಳು NHibernate ಮುಖಪುಟ ಉಚಿತ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು C ಶಾರ್ಪ್. NET ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಟೂಲ್ಗಳಲ್ಲಿ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾಗಿದೆ. NET ಆಬ್ಜೆಕ್ಟ್-ರಿಲೇಷನಲ್ ಮ್ಯಾಪಿಂಗ್ ಟೂಲ್ಗಳು ಆಬ್ಜೆಕ್ಟ್-ರಿಲೇಷನಲ್ ಮ್ಯಾಪಿಂಗ್