Dapper چیست؟
Dapper یک ابزار دسترسی سبک وزن و با کارایی بالا است که توسط تیم Stack Overflow ساخته شده است. دپر یک رویکرد مینیمالیستی برای لایه دسترسی به دادهها در برنامههای NET ارائه میکند و در برابر حملات SQL Injection ایمن است.
Dapper عملکرد خوبی دارد زیرا کوئری را که در .NET می نویسیم به SQL ترجمه نمی کند. Dapper به گونه ای طراحی شده است که سریع، کارآمد و آسان برای استفاده باشد، و آن را به یک انتخاب عالی برای توسعه دهندگانی تبدیل می کند که می خواهند عملکرد و بهره وری را به حداکثر برسانند.
چرا باید از Dapper استفاده کنیم؟
Dapper چندین مزیت را نسبت به ORM های سنتی و دسترسی دستی به پایگاه داده ارائه می دهد:
عملکرد: Dapper فوق العاده سریع و کارآمد است. سربار نگاشت نتایج به اشیا را به حداقل می رساند و در نتیجه دسترسی به پایگاه داده با کارایی بالا را به همراه دارد.
سادگی: Dapper یک API ساده برای اجرای کوئری ها و Mapping ارائه می دهد. دپر این امکان را به شما می دهد که کوئری های SQL را مستقیماً بنویسید و به شما کنترل کامل بر تعاملات پایگاه داده خود می دهد.
انعطاف پذیری: Dapper از طیف گسترده ای از ارائه دهندگان پایگاه داده، از جمله SQL Server، MySQL، PostgreSQL و غیره پشتیبانی می کند. همچنین به طور یکپارچه با کدهای موجود ADO.NET ادغام می شود.
سبک بودن: Dapper یک کتابخانه سبک وزن با حداقل وابستگی است و هیچ پیکربندی یا تنظیمات پیچیده ای لازم ندارد.
Extenstion Method های Dapper
Dapper اینترفیس IDbConnection را با این چند روش گسترش می دهد:
- Execute : یک Extenstion Method است که از آن برای اجرای یک یا چند بار دستور و برگرداندن تعداد سطرهای تحت تاثیر استفاده می کنیم.
- Query: با این افزونه میتوانیم یک کوئری را اجرا کنیم و نتیجه را مپ کنیم.
- QueryFirst: یک کوئری را اجرا می کند و اولین نتیجه را مپ می کند.
- QueryFirstOrDefault: از این روش برای اجرای یک پرس و جو استفاده می کنیم و اگر دنباله حاوی هیچ عنصری نباشد، اولین نتیجه یا یک مقدار پیش فرض را مپ می کنیم.
- QuerySingle: یک افزونه است که یک کوئری را اجرا می کند و نتیجه را مپ می کند. اگر دقیقاً یک عنصر در دنباله وجود نداشته باشد، یک exception ایجاد می کند.
- QuerySingleOrDefault: یک پرس و جو را اجرا می کند و در صورت خالی بودن دنباله، نتیجه یا یک مقدار پیش فرض را مپ می کند. اگر بیش از یک عنصر در دنباله وجود داشته باشد، یک exception ایجاد می کند.
- QueryMultiple: یک افزونه است که چندین پرس وجو را در یک فرمان اجرا میکند و نتایج را مپ میکند.
Dapper همچنین یک نسخه async برای همه این متدها (ExecuteAsync، QueryAsync، QueryFirstAsync، QueryFirstOrDefaultAsync، QuerySingleAsync، QuerySingleOrDefaultAsync، QueryMultipleAsync) ارائه می دهد.
آموزش نحوه استفاده از Dapper در Asp.net core
ما در این دوره آموزشی به بررسی نحوه استفاده از Dapper و اجرای عملیات CRUD در یک برنامه Asp.net core Web API با دات نت 8 پردا خته ایم.
همچنین در این آموزش از minimal API ها در دات نت 8 استفاده شده است.
نتیجه گیری
Dapper یک micro-ORM قدرتمند و کارآمد است که دسترسی به پایگاه داده در برنامه های NET Core را ساده می کند. سادگی، عملکرد و انعطافپذیری آن، آن را به یک انتخاب عالی برای توسعهدهندگانی تبدیل میکند که به سرعت و کنترل بر تعاملات پایگاه دادهشان اهمیت میدهند.
کلید موفقیت Dapper در درک نقاط قوت آن، به کارگیری بهترین شیوه ها و استفاده موثر از ویژگی های آن نهفته است. با پیروی از اصول SOLID، کد تمیز و بهینهسازی عملکرد، میتوانید برنامههای NET Core با کیفیت بالا و کارآمد بسازید که از قدرت Dapper بهره میبرد.
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید