NHibernate چیست؟ |
همانطور که در مبحث پیشین گفته شد یکی از ابزارهای پیاده سازی ORM در دات نت NHibernate است . در اینجا قصد داریم به شرح این تکنولوژی بپردازیم . NHibernate ابزاریست برای عملی کردن مفهوم ORM (Object – relational mapping) در فریم ورک (ّFramework) .NETکه در اواخر سال 2005 به صورت Open source و رایگان تولید شد . اولین فرم ورک مناسب و خوبی که برای ORM تولید شد، EOF نام گرفت (Enterprise Objects Framework) که البته خود نیز دارای مشکلاتی بود . در واقع Nhibernate ورژن Open source و رایگان Hibernate (فرم ورک پیاده سازی ORM در Java) در دات نت است . برای درک بهتر ساده تر شدن کار در NHibernate به کد زیر دقت کنید : Private void saveData(Object user) { string firstname = user.firstName; string lastname = user.lastName; /* Other fields */ … … DB.save(firstname,lastname,…); // Saving data to Database … … } همانطور که مشاهده می کنید برای ذخیره یک شی (مشخصات و فیلدهای یک شی ) در دیتا بیس ، نیاز به نوشتن چنین متدهایی است . حال اگر برنامه وسیع تر و پیچیده تر باشد به همان اندازه نوشتن چنین متد هایی ممکن است خسته کننده و تکراری به نظر برسد . اگر از NHibernate استفاده کنیم به کدی شبیه زیر می رسیم : Public void saveData(Object user) { openNhibernateSession(); session.save(user); closeNhibernateSession(); } همانطور که می بینید با NHibernate می توان تا این حد کار را ساده تر کرد . در NHibernate حتی شما این امکان رو دارید که بر روی اشیاء Query اجرا کنید . NHibernate از ورژن 1.1 دات نت به بعد قابل استفاده است (البته با کمی تغییرات کوچک می توان در دات نت 1 نیز از آن استفاده کرد که توصیه نمی شود)
منابع [1] : NHibernate in Action - manning - Pierre Henri Kuaté,TobinHarris,Christian Bauer, and Gavin King |