Zapytanie Inlucde i ThanInclude w LINQ

0

Cześć Mam do was pytanie mógłby mi ktoś wytłumaczyć jak działają te instację ? i kiedy je używać ?

2

Może warto sobie wyobrazić to na przykładzie bazy danych np. mamy tabele: Customers, Invoices i InvoiceItems ze związami.

  • Customers 1:N Invoices
  • Invoices 1: N InvoiceItems
    Przykładowo jeżeli mamy taki kod:
using (var context = new MyContext())
{
    var customers = context.Customers
        .Include(i => i.Invoices)
            .ThenInclude(it => it.InvoiceItems)
        .ToList();
}

To to stworzy nam zapytanie (w tym przypadku jeżeli mamy obowiązkowe klucze obce, jeżeli są one optional to naturalnie Include powinien stworzyć LEFT JOIN'a).

SELECT * FROM Customers t0 INNER JOIN Invoices t1 ON ... INNER JOIN InvoiceItems t2 ON ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1