
یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شیگرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفهای و امکانات کامل!
مشاهده بیشتر
یادگیری MVC Core از مبانی تا پیشرفته: شیگرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژههای کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!
مشاهده بیشترآموزش NHibernate
آموزش جدید NHibernate

NHibernate نگاشت کننده ای وابسته به شیء و اپن سورس است که برای .NET framework به صورت فعال و با امکانات کامل توسعه یافته است. NHibernate تاکنون در هزاران پروژه ی موفق استفاده شده است، بر بستر ADO.NET بنا شده است و نسخه ی فعلی آن 4.0.4 است. در این آموزش به اصول اولیه ی NHibernate پرداخته می شود. آموزش NHibernate

در این بخش NHibernate را تعریف می کنیم، پلتفرم هایی که می توان NHibernate را در آن ها پیاده سازی کرد را بیان می کنیم و به مزایا و جنبه های دیگر مربوط به آن می پردازیم.مرور کلی بر NHibernate

امروزه معماری بسیاری از سیستم ها به صورت لایه ای طراحی شده است. NHibernate نیز از جزء این سیستم ها به شمار می رود.معماری در NHibernate

قبل از آن که بتوانیم از NHibernate استفاده کنیم، باید بنیان آن را بشناسیم. NHibernate فناوری پایداری است که بر اساس مفهوم نگاشت رابطه – شیء یا ORM بنا شده است.ORM در NHibernate

برای شروع کار نیاز به نرم افزارهای ویژوال استودیو و NHibernate داریم. برپا کردن محیط برای NHibernate

در این بخش به چگونگی شروع یک نمونه ی ساده با استفاده از NHibernate می پردازیم. در این بخش می خواهیم یک برنامه ی کنسولی ساده را ایجاد کنیم. جهت انجام این کار از ویژوال استودیو 2015 استفاده می کنیم. زیرا تمامی امکاناتی که نیاز داریم را دارد و می توانیم با استفاده از آن و به کمک NHibernate برنامه خود را تست کنیم. شروع به کار NHibernate

در این بخش با توجه به این مطلب که در بخش قبل در کنار تعریف کلاس C# جدول پایگاه داده را نیز در اختیار داریم، به برخی از نگاشت های اولیه می پردازیم. حالا به نگاشتی نیاز داریم که چگونگی ترجمه از C# را به پایگاه داده و برعکس توضیح دهد. ORM اولیه

در این بخش به عملیات اصلی CRUD می پردازیم. حالا که دیگر سیستم ما آماده شده است و کلاس Student دامنه ی خود را با موفقیت پیاده سازی کرده ایم، همچنین فایل های نگاشت را تعریف کرده و NHibernate را پیکربندی کرده ایم، می توانیم جهت اجرای عملیات CRUD از برخی از پرس و جو ها استفاده کنیم.

در این بخش می خواهیم به چگونگی بازیابی، به روزرسانی، ساخته شدن و حذف سوابق دیتابیس و چگونگی اجرای دقیق این پرس و جوها بپردازیم.پروفایلر مربوط به NHibernate

در این بخش می خواهیم IntelliSense را به فایل های نگاشت NHibernate (فایل های *.hbm.xml) خود اضافه کنیم. کلاس Student ای که قبلا طی نگاشت دیدیم، در حال حاضر IntelliSense در آن استفاده نشده است.افزودن IntelliSense به فایل نگاشت NHibernate

در این بخش می خواهیم به نگاشت نوع داده ها بپردازیم. نهادهای نگاشت آسان هستند، به این صورت که کلاس های نهادها همواره با استفاده از عناصر نگاشت <class>, <subclass> و <joined-subclass> به جداول دیتابیس نگاشت می شوند.نگاشت نوع داده ها(Data Type) در NHibernate

در این بخش می خواهیم به پیکربندی NHibernate بپردازیم. راه های مختلفی برای پیکربندی NHibernate وجود دارد. پیکربندی در NHibernare

در این بخش به بررسی چگونگی لغو پیکربندی در NHibernate می پردازیم. بازنویسی پیکربندی(Override Configuration) در NHibernate

در این بخش می خواهیم به بروزرسانی اندازه ی دسته ای بپردازیم. با استفاده ازاین اندازه می توانید تعداد به روز رسانی هایی که در یک مرحله وارد پایگاه داده ی پشتیبانی شده ی شما می شود را کنترل کنید. اندازه ی دسته ای(Batch Size) در NHibernate

در این بخش می خواهیم به چگونگی کارکرد کش گرفتن در برنامه های NHibernate بپردازیم. NHibernate به صورت توکار از کش گرفتن پشتیبانی می کند. با وجود این که کش گرفتن کار ساده ای به نظر می رسد، اما در واقعیت یکی از پیچیده ترین امکانات این نرم افزار است. کار خود را با کش سطح اول آغاز می کنیم. کش گرفتن(Caching) مربوط به NHibernate

در این بخش می خواهیم در رابطه با نگاشت اجزا صحبت کنیم. در NHibernate جزء یک شیء مقداری است و به خودی خود هیچ هویتی ندارد.نگاشت جزء(Mapping Component) در NHibernate

در این بخش میخواهیم به بررسی روابط موجود در NHibernate بپردازیم. بنابراین به چگونگی درک این روابط میپردازیم. سادهترین راه برای انجام این کار این است که از زاویهی دید دیتابیسها به این روابط نگاه کنیم.روابط(Relationship) در NHibernate

در این بخش میخواهیم به چگونگی ارائهی مجموعهها بپردازیم. مجموعهها انواع مختلفی دارند که ما میتوانیم از آنها داخل NHibernate استفاده کنیم.نگاشت مجموعه(Collection Mapping) در NHibernate

در این بخش میخواهیم به چگونگی استفاده زنجیرها بپردازیم. فرض کنید یک set یا مجموعهای از آیتمها و یا رابطهای بین دو کلاس را داشته باشید، مانند مشتری و سفارش ما و یک رابطهی کلید خارجی. زنجیرها(Cascades) در NHibernate

این ِویژگی به صورت پیش فرض مفهوم کاملا متفاوتی است و NHibernate این ویژگی را ندارد. برای مثال اگر شما یک مشتری را بارگیری کنید، این کار باعث نمی شود تمامی سفارشات بارگیری شوند.بارگیری کند(Lazy Loading) مربوط به NHibernate

ویژگی جالبی است که آن را می توانید در مجموعه ای که به صورت معکوسی برابر با true است مشاهده کنید. همچنین این ویژگی بسیاری از برنامه نویسان را سردرگم کرده است. بنابراین بیایید در رابطه با این ویژگی صحبت کنیم.روابط معکوس(Inverse Relation) در NHibernate

در این بخش می خواهیم به چگونگی کارکرد ویژگی های Load و Get و چگونگی استفاده از آن ها بپردازیم. این دو ویژگی APIهای بسیار مشابهی هستند که جهت بارگیری یک شیء توسط کلید اولیه با استفاده از ISession فراهم می شوند.Load و Get در NHibernate

در این بخش می خواهیم به API رایج دیگری بپردازیم که برنامه نویسان از آن استفاده می کنند. این API ارائه دهنده ی لینک نام دارد. دسترسی به آن از طریق یک متد افزونه در ISession انجام می شود و امضای آن Query <T> است.لینک(Linq) مربوط به NHibernate

در این بخش می خواهیم به بررسی زبان پرس و جوی Hibernate بپردازیم. HQL در Hibernate و NHibernate جاوا مشترک است.زبان پرس و جوی Hibernate (HQL)

در این بخش می خواهیم به بررسی سازوکار پرس و جوهای معیار بپردازیم. با استفاده از این پرس و جوها می توانید با دستکاری اشیاء معیار در زمان اجرا، یک پرس و جو را بسازید.پرس و جوهای معیار (Criteria Queries) در NHibernate

این سینتکس، سینتکس جدیدی است که تا حد زیادی در استفاده از سینتکس زنجیره ای متد، همان طور که در پرس و جوی زیر نشان داده شده است، شبیه به لینک است.پرس و جوهای QueryOver در NHibernate

اگر برای سال ها با SQL دست نویس کار کرده اید، پس باید خودتان را برای این آماده کنید که ORM قرار است قابلیت بیان و انعطافی که به آن ها عادت کرده اید را کنار بگذارد. Native Sql یا Sql بومی در NHibernate

در این بخش می خواهیم به Fluent Hibernate بپردازیم. Fluent Hibernate روش دیگری برای نگاشت است؛ این روش را می توان جایگزین فایل های نگاشت XML استاندارد Nhibernate در نظر گرفت. در این روش دیگر نیازی به نوشتن اسناد XML ( فایل های .hbm.xml ) نیست.Fluent Hibernate