Middle
Include ыкчам, кечиктирилген же ачык жүктөөбү?
sobes.tech AI
AIден жооп
Entity Frameworkтеги Include механизми — Кечиккен жүктөө (Eager Loading).
Кечиккен жүктөө — бул байланышкан объекттердин базадан биринчи жолу суралган учурда бир нече суроо аркылуу жүктөлүшү.
Анын колдонулушу "N+1 суроолор" маселесин алдын алат, ал ленив жүктөөдө пайда болушу мүмкүн, анда ар бир байланышкан объектке кирүү үчүн өзүнчө суроо жүргүзүлөт.
Синтаксис:
// Тапшырыктар менен кардарларды кечиккен жүктөө
var customersWithOrders = context.Customers.Include(c => c.Orders).ToList();
Башка жүктөө түрлөрү менен салыштыруу:
| Жүктөө түрү | Тасвиртоо | Кайсы учурда колдонуу керек |
|---|---|---|
| Кечиккен (Include) | Башкы маалыматтар менен бирге байланышкан маалыматтарды бир нече суроо аркылуу жүктөө. | Байланышкан маалыматтар жакынкы убакта керек болсо. |
| Талас (Lazy) | Байланышкан маалыматтарды гана биринчи кирүүдө жүктөө. | Байланышкан маалыматтар ар дайым керек болбосо. |
| Ачык (Explicit) | Башкы объект алгандан кийин, кол менен байланышкан маалыматтарды жүктөө. | Байланышкан маалыматтар белгилүү убакытта керек болсо, негизги объект жүктөлгөндөн кийин. |