در این مقاله به طور مفصل به آموزش dapper خواهیم پرداخت. در قرن 21 اطلاعات حرف اول را در قدرت هر رشتهای میزنند. یکی از چالشهایی که مهندسان کامپیوتر با آن درگیر هستند ذخیرهسازی اطلاعات است. بهترین راهحل برای ذخیرهسازی اطلاعات استفاده از بانک اطلاعاتی میباشد. برای کار کردن با بانک اطلاعاتی ابزارهای مختلفی طراحی شده است. یکی از آنها dapper است. اگر تا کنون با پایگاه داده کار کرده باشید میدانید که یکی از مشکلات اصلی کار با پایگاه داده اتصال برنامهنوشته شده به پایگاه داده است.
در این مقاله به معرفی ابزاری خواهیم پرداخت که اتصال برنامه به پایگاه داده را آسانتر از آن چیزی که هست میکند. dapper طراحی شده تا ساعتها در وقت شما برای کدنویسی صرفهجویی کند. به جرئت میتوان گفت که این ابزار را میتوان جایگزین بسیاری از ابزارهای مشابه آن کرد. پس تا پایان این مقاله با ما همراه باشید.
به زودی به سراغ آموزش dapper در سیشارپ خواهیم رفت اما قبل از آن بیایید کمی با مفاهیم کلی چگونگی عملکرد این ابزار قدرتمند بیشتر آشنا شویم. بعد از مطالعه این بخش مقاله میتوانید بهتر شیوه عملکرد این ابزار محبوب را درک کنید.
orm چیست؟
اگر یک تازهکار در دنیای برنامهنویسی هستید اصطلاحاتی مانند orm میتوانند بسیار ترسناک به نظر برسند. orm در حقیقت روشی است که نوشتن کد را سادهتر میکنند. قبل از اینکه در رابطه با اینکه Object-Relational-Mapper چیست صحبت کنیم بهتر است با مفهوم Object-Relational-Mapping بیشتر آشنا شویم. اگر تا کنون با پایگاه دادههای sql کار کرده باشید حتما یکبار کوئریهای مربوط به sql را نوشتهاید. به عنوان مثال کوئری زیر را در نظر بگیرید.
1
SELECT*FROMusersWHEREemail='test@test.com';
Object-relational-mapping در حقیقت ایده توانایی نوشتن پرس و جوهایی مانند مورد بالا، و همچنین موارد بسیار پیچیده تر، با استفاده از پارادایم شیگرا زبان برنامه نویسی دلخواه شما است.
همانطور که میدانید بهترین روش برای یادگیری استفاده از فیلم آموزشی است. از این رو فرادرس که یکی از بهترین مراجع آموزشی در ایران است، تعداد زیادی فیلم آموزشی ارائه کرده است که میتوانید از آنها برای شروع یادگیری در هر زمینهای استفاده کنید. یادگیری برنامهنویسی در هر حوزهای میتواند لذت بخش باشد. شما میتوانید برای شروع از زبان ++c استفاده کنید. برای دسترسی به این آموزش بر روی لینک زیر کلیک کنید.
به طور خلاصه، ما به دنبال تعامل با پایگاه داده خود با استفاده از زبان انتخابی خود به جای SQL هستیم. در اینجاست که Object-relational-mapper به عنوان یک قهرمان وارد میشود. orm به کتابخانهای اشاره دارد که این تکنیک را پیادهسازی میکند. به عنوان مثال کد بالا به شکل زیر خواهد بود.
همانطور در کد بالا مشاهده میکنید، ما از یک کتابخانه ORM غیرواقعی برای اجرای همان پرس و جو استفاده کردهایم، همچنین میتوانیم آن را در جاوا اسکریپت (یا هر زبانی که استفاده میکنید) بنویسیم. میتوانیم از همان زبانهایی که میشناسیم و علاقهمند به استفاده از آنها هستیم استفاده کنیم، و همچنین برخی از پیچیدگیهای ارتباط با پایگاه داده را از بین ببریم.
orm دارای مزایا و معایب بسیار زیادی است که در ادامه با هم بررسی خواهیم کرد.
مزایای استفاده از orm:
رهایی از کدهای sql: نوشتن کدهای sql تخصص خاص خود را میخواهد و اگر یک تازهکار هستید و یا تا به حال با sql کار نکردهاید قطعا میتواند برایتان مشکلساز شود. در هنگام استفاده از ormها دیگر نیازی به استفاده از زبان خاصی برای کار با پایگاه داده نخواهید داشت. این موضوع میتواند یک مزیت بسیار بزرگ برای orm به حساب بیاید.
ایجاد پایگاه داده انتزاعی: این سیستم پایگاه داده را انتزاعی میکند تا جابجایی از MySQL به PostgreSQL، یا هر مدلی که ترجیح میدهید، آسان باشد.
ویژگیهای پیشرفته: بسته به ORM، بسیاری از ویژگیهای پیشرفته مانند پشتیبانی از تراکنشها، ادغام اتصال، مهاجرت، seeds، استریم و انواع چیزهای دیگر را از بسته دریافت میکنید. قطعا پیادهسازی این ویژگیها در sql بسیار دشوار خواهد بود.
عملکرد بهتر پرسوجوها: اگر تا کنون با زبان sql کار کرده باشید میدانید که کدهای این زبان برنامهنویسی اگر به درستی نوشته نشوند ممکن است در پاسخ پرسوجوها و همچنین عملکرد آنها تاثیرات مخرب زیادی بگذارند. استفاده از ormها میتواند این مشکل را به طور کلی رفع کند.
یکی از زبانهایی که در حوزه برنامهنویسی مورد استفاده قرار میگیرد زبان c میباشد. یادگیری زبان برنامهنویسی c در حوزه دانشگاهی هم بسیار مهم است. از این رو برای یادگیری این زبان برنامهنویسی میتوانید به لینک زیر مراجعه کنید.
توانایی نوشتن پرسوجوهای بهتر: اگر خودتان استاد sql هستید قطعا میتوانید با استفاده از این زبان برنامهنویسی پرسوجوهای عملکردی بهتری را بنویسید. اما دقت داشته باشید که تنها نوشتن یک پرسوجو که کار میکند برای اینکار کافی نیست.
یادگیری سخت: ممکن است برای افراد مختلف طریقه یادگیری چگونگی کار با orm مشکل باشد. این موضوع یک ضعف بزرگ برای orm به حساب میآید.
درک کم از پایگاه داده: تصور کنید که شما یک مکانیک خودرو هستید اگر یک اتومبیل را به کارگاه شما بیاورند که هیچ آگاهی از طریقه عملکرد موتورهای آن ندارید قطعا میتواند برایتان مشکلساز شود. یک توسعه دهنده هم همینطور است. به عنوان یک توسعهدهنده باید بدانید که در زیر کاپوت چه اتفاقی میافتد. جلوگیری از درک پایگاه داده میتواند شما را به یک توسعهدهنده ضعیف در این حوزه تبدیل کند. برای رفع این مشکل بهتر است ابتدا کمی با مبانی پایگاه داده آشنا باشید.
مشکل در پیکربندی اولیه: یکی از مشکلات اصلی که اکثر افراد با orm ها دارند مشکل در پیکربندی اولیه است. این مشکل میتواند حتی خطرات بزرگی را برای پایگاه داده ایجاد کند.
چه چیزی ormها را محبوب می کند؟
اگر در اینترنت کلمه orm را جستجو کنید قطعا لیست کاملی از ormها را در ویکیپدیا برای زبانهای مختلف پیدا خواهید کرد. در حال حاظر به دلیل سادهتر شدن کدها و همچنین بینیاز شدن توسعهدهندگان در یادگیری یک زبان دوم برای کار با پایگاه داده این شیوه کدنویسی بسیار محبوب شده است. شما میتوانید با هر زبان برنامهنویسی با پایگاه داده خودتان به راحتی کار کنید که این یک مزیت بزرگ به حساب میآید.
به عنوان مثال زمانی که یک توسعهدهنده فول استک در یک تیم برنامهنویسی کوچک مشغول به کار است و برنامهنویس پایگاه داده اختصاصی در این تیم وجود ندارد به راحتی میتواند از این تکنیک برای پیشرفت در کار خود استفاده کند. این موضوع میتواند هزینههای ایجاد پروژه را تا حد زیادی کاهش دهد که یک مزیت بزرگ به حساب میآید.
#C چیست؟
سی شارپ یک زبان برنامهنویسی شیگراء است. سی شارپ open source، ساده، مدرن، انعطاف پذیر و همهکاره است. در ادامه این مقاله توضیح خواهیم داد که سیشارپ چیست و چرا از این زبان برای کار با پایگاه داده استفاده میکنیم. سیشارپ یک زبان برنامهنویسی است که توسط مایکروسافت توسعه داده شده است. این زبان برنامهنویسی در سال 2001 ارائه شد.
از قابلیتهای خوب این زبان برنامهنویسی همهکاره بودن آن است. تقریبا در هر حوزهای میتوان از این زبان برنامهنویسی استفاده کرد. از زبان برنامهنویسی سیشارپ حتی برای ایجاد برنامههای اندرویدی هم استفاده میشود. اگر علاقهمند به یادگیری این زبان برنامهنویسی هستید میتوانید به لینک زیر مراجعه کنید.
بیشترین استفاده از این زبان برنامهنویسی برای ایجاد برنامههای تحت دسکتاپ میباشد.از آنجایی که این زبان برای ایجاد برنامههای تحت ویندوز طراحی شده است به راحتی میتوان این کار را انجام داد. همچنین از این زبان برنامهنویسی برای ایجاد برنامههای تحت وب هم استفاده میگردد. فریمورکهای بسیار زیادی هم برای این حوزه طراحی شده است.
اگر بتوانید این زبان برنامهنویسی را بدون نیاز به sql به پایگاه داده خودتان متصل کنید میتوانید تنها با یاد گرفتن این زبان و نصب یک ابزار تقریبا هر کاری را در حوزههای مختلف برنامهنویسی انجام دهید. این زبان برنامه نویسی پر کاربرد مزایای بسیار زیادی دارد که در ادامه با هم بررسی خواهیم کرد.
مزایای استفاده از سی شارپ:
مدرن و ساده است: از مزایای خوب این زبان برنامهنویسی مدرن و ساده بودن آن است. نوشتار زبان برنامهنویسی سیشارپ بسیار شبیه به زبان c میباشد. اما کار با این زبان بسیار سادهتر است. همچنین کتابخانههای مختلفی هم برای آن نوشته شده است که به راحتی میتوانید با آنها کار کنید.
سریع و متنباز است: این زبان برنامهنویسی از سرعت بسیار بالایی در اجرا برخوردار است. همچنین استفاده از این زبان نیازی به پرداخت هزینه ندارد و کاملا رایگان است.
cross platform است: در حال حاظر از زبان برنامهنویسی سیشارپ تقریبا بر روی هر پلتفرمی میتوان استفاده کرد. همانطور که گفته شد از زبان برنامهنویسی سیشارپ میتوان برای ایجاد برنامههای تحت وب، تحت دسکتاپ، تحت موبایل و … استفاده کرد. این مزیت میتواند هزینههای مربوط به ایجاد پروژه را تا حد زیادی کاهش دهد.
dapper چیست؟
تا اینجای مقاله آموزش dapper به طور کلی با مفاهیم مختلف مربوطه آشنا شدهایم. برای اینکه بتوانید با این ابزار قدرتمند کار کنید بهتر است به طور کامل مفاهیم بالا را درک کرده باشید. به هر حال برای آموزش dapper باید پیشنیازهای بالا را به طور کامل درک کرده باشید. اگر به خوبی مباحث گفته شده را به درستی متوجه نشدید حتما یک بار دیگر متون گفته شده را مطالعه کنید.
Dapper یک ORM میکرو است همچنین میتوان dapper را یک فریمورک نگاشت شی ساده که به نگاشت خروجی کوئری بومی به یک کلاس دامنه یا کلاس C# کمک می کند هم معرفی کرد. برای یادگیری dapper میتوانید به لینک زیر مراجعه کنید.
دپر یک سیستم دسترسی به داده با کارایی بالا است که توسط تیم StackOverflow ساخته شده و به عنوان منبع باز منتشر شده است. اگر دوست دارید به جای ابزارهای orm مانند EntityFramework یا NHibernate از ابزارهای دیگری استفاده کنید dapper یک انتخاب مناسب است. با استفاده از Dapper، ارسال پرس و جوی SQL در برابر پایگاه داده و دریافت نتیجه به کلاس دامنه C# بسیار آسان است.
مزایای استفاده از dapper:
dapper دارای مزایای بسیار زیادی است که در ادامه مقاله آموزشی dapper با هم بررسی خواهیم کرد.
استفاده آسان: یکی از مزایای بزرگ dapper استفاده آسان از این ابزار است. شما میتوانید تنها با انجام چند مرحله از این ابزار قدرتمند در کدهای خودتان استفاده کنید. این مزیت باعث شده بسیاری از توسعه دهندگان به سمت این ابزار قدرتمند گرایش پیدا کنند.
سرعت بالا: یکی دیگر از مزایای این ابزار قدرتمند سرعت بالای آن میباشد. این ابزار بسیار سریع و قدرتمند است و استفاده از آن میتواند تا حد زیادی سرعت نرمافزار شما را افزایش دهد.
دسترسی کامل به دیتابیس: این ابزار قدرتمند دسترسی کاملی را به دیتابیس در اختیار شما قرار میدهد که با استفاده از آن میتوان اقدام به ایجاد پرسوجوهای مختلف و ارسال آنها به دیتابیس خودتان کنید.
سادهتر شدن دستورات پیچیده: یکی دیگر از مزایای خوب این ابزار سادهتر شدن دستوراتی است که در بقیه فریمورکهای بسیار پیچیده هستند. dapper با امکانات پیشرفته خود تا حد زیادی از پیچیدگی کدها جلوگیری کرده و کار با دیتابیس را برای کاربران بسیار سادهتر کرده است.
معایب استفاده از dapper:
این ابزار قدرتمند همچنین دارای معایب بسیار زیادی هم هست که در ادامه با هم بررسی خواهیم کرد.
عدم توانایی در ایجاد یک مدل کلاس: یکی از معایب بزرگ ابزار dapper این است که نمیتواند یک مدل کلاس برای شما ایجاد کند. این مورد یک ضعف بزرگ برای این ابزار به حساب میآید.
عدم توانایی در ایجاد پرسوجو: یکی دیگر از ضعفهای این فریمورک عدم توانایی در ایجاد یک پرسوجو اختصاصی است.
dapper نمیتواند اشیاء را ردیابی کند: از معایب اصلی این ابزار این است که نمی تواند اشیا و تغییرات آنها را ردیابی کند این موضوع میتواند در پروژههای مختلف برای شما بسیار مشکلساز گردد.
وابسته بودن به بسته contrib CRUD: کتابخانه dapper خام ویژگیهای CRUD را ارائه نمیدهد، اما بسته اضافی “contrib” CRUD اولیه را ارائه میدهد.
آموزش dapper:
برای استفاده از این ابزار قدرتمند در زبان برنامهنویسی سیشارپ تنها کافیست مراحل زیر را طی کنید. دقت داشته باشید که برای استفاده از این ابزار پیشنیازهایی مانند یادگیری نسبی کار با دیتابیس و مباحث پایهای زبان سیشارپ وجود دارد که باید آنها را رعایت کنید.
برای استفاده از این ابزار دستورات مختلفی وجود دارد که در ادامه 4 دستور از این ابزار قدرتمند را با هم بررسی خواهیم کرد.
1.Execute:
Execute متدی است که از شی نوع IDbConnection نامیده می شود که می تواند دستور را یک یا چند بار اجرا کند و تعداد ردیف های آسیب دیده را در جداول پایگاه داده برگرداند. میتواند رویههای ذخیره شده، دستورات SELECT/INSERT/DELETE و غیره را اجرا کند. به کدهای زیر دقت کنید.
QuerySingle متدی است که از شی نوع IDbConnection فراخوانی می شود که می تواند یک پرس و جو را اجرا کند و اولین نتیجه را ترسیم کند و اگر دقیقاً یک عنصر در دنباله وجود نداشته باشد یک استثنا ایجاد می کند.
1
2
3
4
5
6
7
8
stringsql="SELECT * FROM Companies WHERE CompanyId = @CompanyId";
در این مقاله سعی شد به آموزش کامل dapper پرداخته شود. این ابزار قدرتمند میتواند در حوزههای مختلفی مورد استفاده قرار گیرد برای یادگیری این ابزار میتوانید به وبسایت اصلی این ابزار مراجعه کنید.
همچنین فرادرس که یکی از بهترین مراجع آموزشی در ایران است، فیلمهای آموزشی زیادی در رابطه با برنامهنویسی، کار با انواع دیتابیسها و بسیاری موضوعهای دیگر تهیه کرده است که میتوانید از آنها برای یادگیری خودتان استفاده کنید.
اگر از مطالعه این مقاله لذت بردید میتوانید هر گونه انتقاد و پیشنهاد خودتان را در بخش نظرات با ما در میان بگذارید.
دیدگاهتان را بنویسید
You must be logged in to post a comment.