Sobes.tech
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) Башкы объект алгандан кийин, кол менен байланышкан маалыматтарды жүктөө. Байланышкан маалыматтар белгилүү убакытта керек болсо, негизги объект жүктөлгөндөн кийин.