Middle
Da li je Include eager, lazy ili eksplicitno učitavanje?
sobes.tech АИ
Одговор од АИ
Include u Entity Framework je mehanizam Željeno učitavanje (Eager Loading).
Željeno učitavanje znači da su povezane entitete učitane iz baze podataka zajedno sa traženom entitetom u jednom ili više upita pri prvom pristupu podacima.
Njegova upotreba sprečava problem "N+1 upita", koji može nastati kod lenjeg učitavanja, kada se za pristup svakoj povezanoj entiteti izvrši poseban upit ka bazi podataka.
Sintaksa:
// Željeno učitavanje porudžbina zajedno sa klijentima
var customersWithOrders = context.Customers.Include(c => c.Orders).ToList();
Upoređenje sa drugim tipovima učitavanja:
| Tip učitavanja | Opis | Kada koristiti |
|---|---|---|
| Željeno (Include) | Učitavanje povezanih podataka zajedno sa glavnim u jednom ili više upita. | Kada su povezani podaci skoro uvek potrebni. |
| Lenjo | Učitavanje povezanih podataka samo pri prvom pristupu. | Kada povezani podaci nisu uvek potrebni. |
| Eksplicitno | Ručno učitavanje povezanih podataka nakon dobijanja glavne entitete. | Kada su povezani podaci potrebni u određenom trenutku nakon učitavanja glavne entitete. |