مقایسه پرفورمنس و عملکرد انواع راه های ارتباط با پایگاه داده در سی شارپ dapper در برابر EntityFramework Core در برابر Ado.net Classic کدام یک مناسب تر است؟
سلام دوستان
در این مقاله قصد داریم سه روش کار با دیتابیس dapper , ado.net classic , ef core را مقایسه کنیم و بهترین گزینه را برای انجام پروژه های خود انتخاب کنیم
قابل ذکر می باشد تمامی تست های این مقاله بر اساس repository گیت هاب زیر می باشد
exceptionnotfound/ORMBenchmarksTest (github.com)
dapper یک micro ORM می باشد که توسط شرکت stackoverflow توسعه داده شده است
و EntitiyFrameWork یک ORM برای کار با دیتابیس بر پایه ado.net است
مقایسه سرعت dapper , ado.net classic , ef core
نتایج dapper
نتایج ado.net
نتایج entityframework
در اینجا برنده dapper شد که با اختلاف خیلی کوچک توانست Ado.net را شکست دهد
و ef با اختلاف زیاد به جایگاه سوم رسید
شاید برایتان سوال باشد ایا با این وجود باید Ef را رها کنیم
پاسخ خیر است استفاده از ef برای دیتا با حجم متوسط گزینه بسیار خوبی است زیرا از سادگی زیادی بر خوردار است شما نیازی به دانستن دستورات T-SQL برای کار با ef ندارید
اما از طرف دیگر برای کار های بزرگ با دیتا فراوان(big data) ما به شما dapper را توصیه می کنیم
پیچیدگی دپر نسبت به ef بیشتر می باشد اما از سرعت خیلی بالاتری بر خوردار است
پیشنهاد من
بنده توصیه می کنم شما در پروژه های بزرگ خود از dapper در کنار Ef core استفاده کنید می توانید بخش هایی مثل ساخت دیتابیس و کوئری های سبک تر را به راحتی با ef core انجام دهید و زمانی که به کوئری های پیچیده می رسید از Dapper استفاده کنید
پیشنهاد: برای نصب و راه اندازی بانک اطلاعاتی sql server 2022 به مقاله
مراجعه کنید
پایان.