در این پست از وبسایت پرووید در رابطه با آموزش Query گرفتن در Entity Framework Core #5 صحبت خواهیم کرد. تکنولوژی Entity Framework Core نسل بعدی Entity Framework است که توسط مایکروسافت معرفی شده است.

در قسمت قبلی از این آموزش در رابطه با دستور ThenInclude در Entity Framework Core صحبت کردیم.

انجام Projection Query در Entity Framework Core

دقت کنید که برای Eager Load کردن چندین Related Entity مربوط به یک Entity می توانیم از Projection Query نیز استفاده کنیم. این موضوع جایگزینی برای متد های Include و ThenInclude می باشد.

بسته ی آموزش شروع به کار با Entity Framework Core

از شما دعوت می کنیم که از بسته ی آموزش شروع به کار با Entity Framework Core دیدن کنید.

همانطور که در قسمت پایین می بینید با استفاده از Projection Query داده های مربوط به Entity های Student و Teacher و Grade خوانده می شوند.

var context = new SchoolContext();

var stud = context.Students.Where(s => s.FirstName == "Bill")
                        .Select(s => new
                        {
                            Student = s,
                            Grade = s.Grade,
                            GradeTeachers = s.Grade.Teachers
                        })
                        .FirstOrDefault();

همانطور که در قسمت بالا مشاهده می کنید یک Extension Method با نام Select برای Load کردن Entity های مرتبط با Student با نام ‌های Grade و Teacher استفاده شده است. این موضوع دقیقا همان دستور SQL ای را ایجاد میکند که استفاده از Extension Method های Include و ThenInclude ایجاد می ‌کرد.

نکته آخر اینکه Lazy Loading در حال حاضر در 2 Entity Framework Core پشتیبانی نمی شود. علاوه بر این Explicit Loading به همان روشی که در Entity Framework 6 قابل انجام بود قابل انجام می باشد.

خب امیدواریم که این آموزش از وبسایت پرووید نیز مورد توجه تمامی دوستان قرار گرفته باشند. از شما دعوت می‌کنیم از دیگر آموزش های وبسایت پرووید در رابطه با Entity Framework Core دیدن کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *