Sobes.tech
Junior — Middle

Дархост кардани фарқият байни усулҳои include ва theninclude ҳангоми кор бо иртиботҳо дар ORM?

sobes.tech AI

Ҷавоб аз AI

Метод Include дар ORM (масалан, Entity Framework) истифода мешавад барои боргирии ҳавасмандонаи унсурҳои алоқаманд дар сатҳи аввал. Яъне, он имкон медиҳад, ки маълумоти алоқаманд дар хусусияти навигатсионӣ бо унсури асосӣ бор карда шавад.

ThenInclude барои боргирии унсурҳои алоқаманд дар сатҳҳои дуюм ва боло, яъне барои хусусиятҳои навигатсионӣ дар дохилшуда пас аз Include истифода мешавад.

Масалан:

var orders = context.Orders
    .Include(o => o.Customer)           // боргирии Customer алоқаманд
    .Include(o => o.OrderItems)         // боргирии коллексияи OrderItems
        .ThenInclude(oi => oi.Product) // барои ҳар як OrderItem, боргирии Product
    .ToList();

Ин ҷо, Include OrderItems-ро бор мекунад ва ThenInclude бо онҳо алоқаманд Product-ҳоро бор мекунад.

Бинобар ин, Include занҷираи боргирии маълумоти алоқамандро оғоз мекунад ва ThenInclude онро барои робитаҳои дарунсохт васеъ мекунад.