استفاده از Dapper در NET Core. – بخش اول

ساخت وبلاگ

Dapper در NET Core.

در این مقاله میخواهیم راجب استفاده از Dapper در NET Core. صحبت کنیم. مدتی است که طرفداران در ضمینه استفاده از Dapper در پروژه های شخصی و تجاری زیادی شده.

Dapper با داشتن پروژه های بیشتر و بیشتری به معماری میکروسرویس یا حداقل برنامه بزرگی که از بسیاری از مؤلفه های کوچکتر ساخته شده است ، می پردازد.

Dapper چیست؟

Dapper به عنوان ORM “میکرو” طبقه بندی می شود.

این یک ORM است اما بسیار سبک وزن است و فقط عملکردهای بسیار اساسی را ارائه می دهد.

در حالی که ما ممکن است چیزی مانند Entity Framework یا NHibernate را به عنوان یک ORM کاملاً برجسته heavyweight طبقه بندی کنیم ، Dapper حداقل ( هزینه کلی) overhead را در اختیار شما قرار میدهد و فقط با برخی از اصول اصلی شما را یاری می کند.

به عبارت ساده ، نمایش database را از NET Core code خود را اجرا می کند ، و نتایج را به راحتی مدیریت می کند.

چرا Dapper؟ 

اصلی ترین دلیل تمایل مردم به انتخاب Dapper بر روی چیزی مانند Entity Framework ، کنترلی است که در اختیار آنها قرار میگیرد.

با Dapper ، روزهای استفاده از نمایش داده های LINQ طولانی است که SQL نامطبوع ایجاد می کند و باعث می شود DBA shriek at first sight.

در حقیقت ، با Dapper دقیقاً می دانید SQL چه چیزی اجرا خواهد شد … زیرا خود شما آن را نوشته اید.

به عنوان نمونه ، اگر یک جدول “Event” داشته باشیم که بخواهیم “EventName” رکورد را با “شناسه”ID 1 دریافت کنیم. به نظر می رسد:

در اینجا هیچ ابهامی وجود ندارد اما احتمالاً این مسئله ما را به این سمت سؤال سوق می دهد که “چه موقع نباید از Dapper استفاده کنیم”. و این در واقع یک سوال بسیار خوب است واقع بینانه فکر کنیم دو نوع توسعه دهنده / پروژه وجود دارد که بدان معنی است که Dapper ممکن است روی کارت ها (Cards)نباشد.

نکته اول این است که اگر شما در حال انتقال یک پروژه موجود به Dapper هستید ، و آن پروژه قبلاً از EntityTracking در Entity Framework استفاده می کرد – یا از ویژگی خاص Entity Framework استفاده می کرد ، ممکن است Dapper کششی stretch باشد.

هیچ entity tracking وجود ندارد که بتواند در Dapper صحبت کند – حداقل در خارج از جعبه (این فقط POCO است) ، بنابراین اگر انتظار برخی از جادوهای EF را دارید ، Dapper برای شما مناسب نیست.

مورد دوم در واقع یک توسعه دهنده (developer) خاص است.

هنگام تلاش برای آموزش دهندگان جوان Dapper آنها به دلیل این که مجبور به نوشتن SQL خام هستند ناراحت میشوند.

اگر با یک بانک اطلاعاتی (database) در تعامل هستید باید SQL را در سطح بسیار بالایی بلد باشید.

اما برخی از توسعه دهندگان واقعاً از استفاده از LINQ که از قبل با آن ها آشنا هستند و آنها را دوست دارند خوشحال هستند ، و برای برخی منحنی یادگیری ASP.NET Core حتی بدون اضافه کردن پایگاه داده به اندازه کافی بزرگ است.

اگر این شما هستید ، و تازه با سی شارپ شروع کرده اید و هنوز نمی خواهید SQL را یاد بگیرید ، شاید این برای شما مناسب نباشد.

چه کسی در پشت Dapperاست؟

مغزهایی پشت Dapperهستند که در StackOverflow هستند.

Dapper به این دلیل ایجاد شده است که بار وب سرورها صرفاً به بیان اظهارات LINQ2SQL و تولید SQL اغلب باعث می شود که جعبه های وب آنها به ۱۰۰٪ CPUآسیب برساند.

در واقع با این واقعیت نیز همراه است که شما واقعاً نمی توانید SQL از LINQ به شکلی کنترل کنید که بفهمید چه نتیجه ای دارد .

پس Dapper در این ضمینه ها نیز به شما کمک میکند.

بهتر از همه این است که ، Dapper کاملاً منبع باز است.

این بدان معناست که شما می توانید بررسی کنید که چگونه کارها انجام می شود ، حتی اگر احساس می کنید اینگونه تمایل دارید که اشکالات را برطرف کنید!

پس با این تاریخچه کوتاه و درس خارج از مسیر بیایم واقعا به این نکات گفته شده توجه کنیم و چند Dapper ساده بنویسیم.

آموزشی برنامه نویسی...
ما را در سایت آموزشی برنامه نویسی دنبال می کنید

برچسب : نویسنده : دانلودی source بازدید : 272 تاريخ : سه شنبه 29 بهمن 1398 ساعت: 2:41