همانطور که در مبحث پیشین گفته شد یکی از ابزارهای پیاده سازی 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
جالب بود، مرسی