MrJahanbin
MrJahanbin
خواندن ۱ دقیقه·۴ سال پیش

Include vs IncludeOptimized In EF

یکی از موضوعاتی که خیلی این مدت ذهنم رو درگیر کرده بود، گرفتن اطلاعات از پایگاه داده با استفاده از Include بود. عکس زیر رو ببینید:


دستور Include اطلاعات جدولی که مرتبط با جدول اصلی هست رو هم میاره. یجورایی جایگزین Lazy Loading شده. مزیت بالایی که داره میزان بازدهی این کد هستش که هوشمنده و با توجه به چیزی که میخوای برات اطلاعات میاره . حتی توی تحقیقاتم به این رسیدم که این کد در صورتیکه در ادامه کار از داده ی یکی از جدول هایی که include کردی استفاده نکرده باشی برات داده اش رو نمیاره تا کد سبک تر بشه.

مشکلی که این وسط هستش اینه که تعداد زیاد include طبق اخطاری که خود Visual studio میده باعث کندشدن بازدهی میشه. همین موضوع باعث شد دنبال بررسی این موضوع بیوفتم.

اولین نکته ای که جا داره اینجا عنوان کنم اینه که برخلاف تصور عموم، دستور SQL ی که طولانی باشه و شامل تمام خواسته ها باشه، بازدهی بالایی نداره و زمانبر هستش. هرچی دستور SQL یا همون SQL Query کوتاه تر باشه علاوه بر بازدهی بالاتر، خوانایی بالاتری هم داره.

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

روش کار هم خیلی ساده س:

اول کتابخونه اش رو توی پروژه نصب میکنین.


بعدش فقط کافیه بجای Include از IncludeOptimized استفاده کنین. به همین سادگی.


این نکته هم اضاف کنم که برخی ها معتقد هستن که گاهی اوقات سرعت کندتری داره.

efentity frameworknetccore
سالها کار برنامه نویسی و مدیریت پروژه انجام دادم و الان هم در حال کسب تجربه در بازاریابی و برندسازی هستم. وب سایت من : http://mrjahanbin.ir
شاید از این پست‌ها خوشتان بیاید