Middle
Include öncelikli, tembel veya açık mı yükleniyor?
sobes.tech yapay zeka
AI'dan gelen yanıt
Entity Framework'te Include, İstekli Yükleme (Eager Loading) mekanizmasıdır.
İstekli Yükleme, ilişkili varlıkların, ilk erişimde veritabanından ana varlıkla birlikte yüklenmesi anlamına gelir ve bu, bir veya birkaç sorgu ile yapılır.
Kullanımı, tembel yüklemede ortaya çıkabilecek "N+1 sorguları" sorununu önler; bu sorun, ilişkili her varlığa erişmek için ayrı bir sorgu yapıldığında ortaya çıkar.
Sözdizimi:
// Müşterilerle birlikte siparişlerin isteyerek yüklenmesi
var customersWithOrders = context.Customers.Include(c => c.Orders).ToList();
Diğer yükleme türleriyle karşılaştırma:
| Yükleme Türü | Açıklama | Ne zaman kullanılır |
|---|---|---|
| İstekli (Include) | Ana verilerle birlikte ilişkili verilerin tek bir sorguda (veya birkaçında) yüklenmesi. | İlişkili verilerin neredeyse her zaman gerekli olduğu durumlar. |
| Tembel | İlişkili verilerin sadece ilk erişimde yüklenmesi. | İlişkili verilerin her zaman gerekli olmadığı durumlar. |
| Açıkça | Ana varlık alındıktan sonra ilişkili verilerin manuel olarak yüklenmesi. | İlişkili verilerin, ana varlık yüklendikten sonra belirli zamanlarda gerekmesi durumunda. |