Middle
Include yükləməmi, tənbəlmi və ya açıqdırmı?
sobes.tech Süni İntellekt
AI-dan cavab
Entity Framework-də Include, İstəkli Yükləmə (Eager Loading) mexanizmidir.
İstəkli Yükləmə, əlaqəli varlıqların, ilk girişdə verilənlər bazasından bir və ya bir neçə sorğu ilə yüklənməsini təmin edir.
Onun istifadəsi, "N+1 sorğuları" problemini qarşısını alır; bu, tənbəl yükləmə zamanı baş verə bilər, hər əlaqəli varlığa daxil olmaq üçün ayrıca sorğu həyata keçirilir.
Sintaksis:
// Əlaqəli sifarişlərin müştərilərlə birlikdə yüklənməsi
var customersWithOrders = context.Customers.Include(c => c.Orders).ToList();
Digər yükləmə növləri ilə müqayisə:
| Yükləmə növü | Təsviri | Nə zaman istifadə etmək lazımdır |
|---|---|---|
| İstəkli (Include) | Əsas məlumatlarla birlikdə əlaqəli məlumatların bir və ya bir neçə sorğuda yüklənməsi. | Əlaqəli məlumatlar demək olar ki, həmişə lazımdırsa. |
| Təbii (Lazy) | Əlaqəli məlumatların yalnız ilk dəfə daxil olarkən yüklənməsi. | Əlaqəli məlumatlar hər zaman lazım deyilsə. |
| Aydın (Explicit) | Əsas varlıq əldə edildikdən sonra əlaqəli məlumatların əl ilə yüklənməsi. | Əlaqəli məlumatlar müəyyən vaxtlarda lazım olarsa, əsas varlıq yükləndikdən sonra. |