Entity Framework محبوب ترین ابزار ORM است و توسط مایکروسافت توسعه یافته است. این کار توسعه دهنده را تسهیل می کند تا با اشیاء خاص دامنه کار کند و نگران داده های اساسی در پایگاه داده نباشد. سطح بالایی از انتزاع را برای دسترسی به داده ها فراهم می کند و باعث ایجاد خطوط کمتر کد توسط برنامه نویس می شود.
Entity Framework بر روی ADO.NET ساخته شده است و به دلیل تمام ویژگی های غنی آن و در هنگام عیب یابی، همیشه باعث شده است که در مورد آنچه در پشت صحنه اتفاق می افتد کنجکاو باشم. من نتوانستم اطلاعات زیادی پیدا کنم بنابراین کاملاً روی MSDN تکیه کردم.
بر اساس این کاغذ سفید ، من این نمودار را ایجاد کردم که تمام مراحل مربوطه را فهرست می کند و در این مقاله، همه آنها را به تفصیل شرح خواهم داد.
![همه مراحل درباره اجرای پرس و جو در چارچوب نهاد](http://pezhvak24.ir/dl/10kcor/cscd/article/all-steps-about-query-execution-in-entity-framework/Images/All Steps About Query Execution In Entity Framework.png)
چرخه حیات اجرای Query Entity Framework
پس از تکمیل این مقاله، درک خوبی از پردازش پرس و جو Entity Framework خواهید داشت. این نیاز به دانش اولیه Entity Framework دارد.
بر اساس این نمودار، میتوان تمام چرخه اجرا را به 3 مرحله دستهبندی کرد:
- ایجاد زمینه
- ایجاد عبارت پرس و جو
- اجرای پرس و جو
اجازه دهید هر یک از آنها را درک کنیم و آنها را بیشتر بشناسیم.
مرحله 1 - ایجاد زمینه
در این مرحله Context ایجاد می شود. متن مانند یک جلسه با یک پایگاه داده برای تمام عملیات پایگاه داده (ایجاد، بازیابی، به روز رسانی و حذف) است. متن مسئول وظایف زیر است،
- اجرای پرس و جو در اتصال.
- ردیابی تغییرات ایجاد شده در موجودیت پس از بازیابی داده ها
- تغییر شی دائمی در پایگاه داده.
- ذخیره سازی
- تحقق داده ها به شی / موجودیت
اینگونه است که ما یک زمینه را اعلام می کنیم،
- public class BlogContext: DbContext {
- public DbSet < Category > Categories {
- get;
- set;
- }
- public DbSet < Article > Articles {
- get;
- set;
- }
- }
و در اینجا ما یک زمینه را به این ترتیب ایجاد می کنیم،
- public void SubmitArticle() {
- using(var context = new BlogContext()) {
- // Perform data access using the context
- }
- }
مرحله 2 - ایجاد عبارت پرس و جو
Query عبارتی است که داده ها را از منبع داده بازیابی می کند. در پرس و جو، آنچه را که از منبع داده نیاز داریم را مشخص می کنیم. همچنین می توان از آن در مرتب سازی، گروه بندی و ماساژ داده ها برای رسیدن به شکل مورد نیاز استفاده کرد.
عبارت کوئری می تواند شامل عبارات لامبدا و هر چیزی که در فضای نام مجاز است System.Linq.Expressions باشد . در اینجا می توانید درباره پرس و جوهای LINQ بیشتر بیاموزید .
در این مرحله عبارات LINQ ایجاد شده و اطلاعات پرس و جوی زیرین ذخیره می شود. اجرای عبارت LINQ در این مرحله اتفاق نمی افتد و ما آن را با جزئیات بیشتری پوشش خواهیم داد.
از این اسکرین شات، میتوانیم هر سه مرحلهای را که کدنویسی میکنیم، ببینیم.
3 مرحله اصلی اجرای کوئری LINQ در Entity Framework
![همه مراحل درباره اجرای پرس و جو در چارچوب نهاد](http://pezhvak24.ir/dl/10kcor/cscd/article/all-steps-about-query-execution-in-entity-framework/Images/All Steps About Query Execution In Entity Framework1.png)