یک ORM است که تحت پلت فرم دات نت مایکروسافت کار میکند ، و یک FrameWork را برای کار راحتتر و با پیچیدگی کمتر با database پیشنهاد میکند. در این مدل فیلدهای Database به آبجکتهای معادلی، برای استفاده در محیط دات نت تبدیل (map) میشوند . و با این کار برنامهنویسان از پیچیدگیهای ارتباطی DataBase ای خلاص میشوند.
NH (NHibernate) یک نرمافزار کدباز ( OpenSource ) رایگان است. و قسمتی از java ORMapper Hibernate است که کدی در قالب XML از موجودیتها (Entity) و روابط (Relation) ارائه میکند. و به صورت اتوماتیک برای ذخیره و بازیابی Data ها کد Sql تولید میکند، و شما میتوانید با متادیتاهای (meta data) ذخیره شده در source code کار کنید.
توانایی اصلی «ان هایبرنیت» در map کردن table های DataBase به کلاسهای .NET است.
ان.هایبرنیت همچنین DataQuery و امکان بازیابی (retrieval) را فراهم میکند ، کدهای SQL تولید میکند و طراح را از هندل کردن دستی DataBase نسبت به تبدیلات آن و نگهداری Application های Sql ، راحت میکند.
NH ، ماندگاری مناسبی را برای طرح قدیمی CLR (Compiler Language Runtime) فراهم میکند. و آبجکتهای کلاس شما مجبور نیستند مدل برنامه نویسی محدود کنندهای را دنبال کنند.
مزیت مهم استفاده از NHibernate این است که میتوان برای بانک اطلاعاتی به صورت Object Oriented (OO ) کد نوشت. یعنی عملا DtaBase یک Object است که از آن در قالب Data ی map شده استفاده میکنیم.
در صورت استفاده کردن از DataSet به جای NH برنامه سرعت بیشتری دارد؛ اما برای نوشتن کد باید کد Sql بنویسیم، پس درگیر پیچیدگیهای کار با Sql در محیط .NET خواهیم شد. درضمن اگر قرار به عوض کردن نوع DataBase باشد ، اگر framework ای هم از قبل برای راحتی کار درست کرده باشیم، به صورت کامل باید تغییر کند و دوباره نوشته شود. اما در صورت استفاده از NHibernate در صورت تمایل به تغییر DataBase فقط و فقط در تعریف نام DataBase باید تجدید نظر کرد و تمام تغییرات وابسته به database با تغییر پایگاه داده نهایی خودبخود تغییر میکنند و ان هایبرنیت آنها را برای ما ایجاد میکند.
1. Natural programming model : بدین معنا که NHibernate ، OO را پشتیبانی میکند . یعنی ارثبری (Inheritance) ، چندریختی (Polymorphism) ، ترکیب (Composition) ، Collection در .NET که شامل Generic collection ها هم میشود .
2. Native .net : API های NHibernate بر مبنای زبانهای .NET و استانداردهای آن ایجاد شده است .
3. Support for fine-grained object models : پشتیبانی از مدلهای آبجکتی، از طریق مدلهای مختلف غنی شده از مپینگها، برای Collection ها و Object های وابسته .
4. No build time byte code enhancement : در روند بیلد شدن، پردازش بر اساس بایتکدها و ایحاد کدهای اضافی وحود ندارد . در حقیقت در زمان بیلد شدن هیچ بهبودی در بایتکدها داده نمیشود .
5. The query options : از بدست آوردن آبجکتهای دیتابیس گرفته تا بدست آوردن خروجیهای آنها . به هر دوی این مسائل میپردازد .
6. Custom SQL : تصحیح کامل SQL که NHibernate باید برای آبحکتهایش از آنها استفاده کند .
7. Support for “conversations” : ان.هایبرنیت از ماندگاری بالای مفاهیم ، سوا و سرهمبندی آبحکتها پشتیبانی میکند و همچنین از optimistic locking به صورت خودکار مراقبت میکند .
8. Free/open source : ان هاببرنیت، تحت مجوز LGPL (Lesser GNU Public License) است و سورس پروژه ان.هایبرنیت را از سایت SourceForge از اینجا می توانید دانلود کنید .
مطالب مرجع و تخصصی در زمینه سیستم عامل ویژه دانشجویان و محققین علوم کامپیوتری
فهرست اصلي
فهرست موضوعی
لینکستان
دانشجویان کامپیوتر دانشگاه آزاد
جامعه برنامه نویسان ایران
انجمن تخصصی ASP.NET
انجمن برنامه نویسی NET.
شبکه اجتماعی متخصصان
باشگاه مهندسان ایران
مرجع متخصصین ایران
مرکز توسعه نرم افزار
انجمن تخصصی فلش
باشگاه طراحان ایران
ادوبی فلش پلتفرم
کامپوننت و ابزارها
سورس و راهنما
آموزش فلش
آخرين نوشته ها
درباره سیستم عامل
ارتباط با پورت سریال در C#
addon domain در plesk
استیو جابز هم رفت!
آخرین رکورد بازبینی شده
مشکل نصب SQL Server 2005
سمینار درگاه پرداخت آنلاین
تفاوت متد های get و post
امنیت فایل های اجرایی NET.
نکاتی که در برنامه نویسی باید/میتوانند رعایت شوند
Tableدر برابر Div
سخنان طلایی برنامه نویسان بزرگ
رمزگذاری فایلها
کارگاه آموزش سیستم حروفچینی لاتک و زی پرشین
کتاب آموزش لاتک Latex
مقایسه دستورات DELETE و TRUNCATE
با Cloudflare امنیت و سرعت سایت خود را افزایش دهید
کتاب آموزش برنامه نویسی اسمبلی
چیست؟ nhibernate
معرفي فايل Web.Config
Eval شرطی
واکشی تعداد رکوردهای تمام جدولهای دیتابیس
واکشی نام تمام جدولهای دیتابیس
طرح روی جلد کتاب سیستم عامل سیلبر شاتس
کتاب برنامه نویسی و زبان اسمبلی - پیتر ایبل
کتاب آموزش ActionScript 3.0
حقیقت آزمایش !
افزونه های Reflector
جایگزین Reflector
sem چیست ؟
DESIGNED BY