Katakanlah misalnya Anda ingin mendapatkan daftar semua pelanggan Anda:
var customers = context.Customers.ToList();
Dan mari kita asumsikan bahwa setiap Customer
objek memiliki referensi ke himpunannya Orders
, dan masing-masing Order
memiliki referensi LineItems
yang juga dapat mereferensikan a Product
.
Seperti yang Anda lihat, memilih objek tingkat atas dengan banyak entitas terkait dapat menghasilkan kueri yang perlu menarik data dari banyak sumber. Sebagai ukuran kinerja, Include()
memungkinkan Anda untuk menunjukkan entitas terkait mana yang harus dibaca dari database sebagai bagian dari kueri yang sama.
Menggunakan contoh yang sama, ini mungkin membawa semua tajuk pesanan terkait, tetapi tidak ada catatan lain:
var customersWithOrderDetail = context.Customers.Include("Orders").ToList();
Sebagai poin terakhir sejak Anda meminta SQL, pernyataan pertama tanpa Include()
dapat menghasilkan pernyataan sederhana:
SELECT * FROM Customers;
Pernyataan terakhir yang memanggil Include("Orders")
mungkin terlihat seperti ini:
SELECT *
FROM Customers JOIN Orders ON Customers.Id = Orders.CustomerId;