Sobes.tech
Junior — Middle

Ի՞նչ տարբերություն կա include և theninclude մեթոդների միջև ORM-ով աշխատելիս:

sobes.tech AI

Պատասխան AI-ից

ORM-ում (մասնավորապես, Entity Framework) Include մեթոդը օգտագործվում է առաջին մակարդակի կապված գոյությունների արագ լիցքավորման համար: Այսինքն, այն թույլ է տալիս լիցքավորել հիմնական գոյության հետ կապված տվյալները մեկ նավիգացիոն հատկության միջոցով:

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 այն ընդլայնում է ներսի կապերի համար։