26 Ocak 2026 Pazartesi

Web Programlama - 3. Sınıf - 8. Ünite Özet

Web Programlama 2 - Ünite 8: LINQ Teknolojisi
Ders Notları

LINQ (Language Integrated Query)

Web Programlama 2 - Ünite 8: Modern Veri Sorgulama Mimarisi

Neden LINQ?

Geleneksel programlamada, her veri kaynağı (SQL, XML, Array) için farklı bir dil öğrenmek gerekir. LINQ, bu karmaşayı ortadan kaldırarak tüm veri kaynaklarına C# diliyle, tip güvenli (type-safe) bir şekilde erişmemizi sağlayan devrimsel bir teknolojidir.

  • Standart: Tek söz dizimi, her kaynak.
  • IntelliSense: Kod yazarken otomatik tamamlama.
  • Hata Denetimi: Çalışma zamanı değil, derleme zamanı kontrolü.
SQL XML Array
LINQ Motoru
Tek Tip C# Nesneleri
1

Sorgu Yürütme Modelleri (Execution Modes)

LINQ sorgularının "ne zaman" çalıştığını anlamak hayati önem taşır. İki mod vardır:

A. Ertelenmiş Yürütme (Deferred)

Sorgu tanımlandığında çalışmaz. Veri istendiğinde (foreach) çalışır.

var sorgu = sayilar.Where(x => x % 2 == 0);
// Sorgu henüz çalışmadı!

sayilar[1] = 8; // Veriyi değiştirdik

foreach(var s in sorgu) // ŞİMDİ çalıştı
{ ... }
Sonuç: Değişikliği (8 sayısını) GÖRÜR.

B. Anlık Yürütme (Immediate)

ToList(), Count() gibi metotlar sorguyu o an çalıştırır.

var liste = sayilar.Where(...).ToList();
// Sorgu ÇALIŞTI ve bitti!

sayilar[1] = 8; // Veriyi değiştirdik

foreach(var s in liste)
{ ... }
Sonuç: Değişikliği (8 sayısını) GÖRMEZ. İlk halini aldı.
2

Söz Dizimi: Query vs. Method

Query Syntax (SQL Benzeri)
from k in Kitaplar
where k.Sayfa > 500
select k;
Method Syntax (Lambda)
Kitaplar.Where(k => k.Sayfa > 500);

// Lambda: k (input) => (şart)

Her iki yöntem de arka planda aynı IL (Intermediate Language) koduna dönüşür.

3

Sık Kullanılan Operatörler

Where (Filtrele)

Koşul

Veri kümesini belirli kriterlere göre süzer.

.Where(x => x.Sayfa > 500)

OrderBy (Sırala)

Sıralama

A-Z veya 0-9 sıralar. Tersi için OrderByDescending.

.OrderBy(x => x.Ad)

Select (Seç/Dönüştür)

İzdüşüm

Verinin sadece belirli sütunlarını veya yeni bir formunu alır.

.Select(x => x.YazarAdi)

First vs FirstOrDefault

Kritik
  • First: Kayıt yoksa HATA fırlatır.
  • FirstOrDefault: Kayıt yoksa NULL döner. (Önerilen)
.FirstOrDefault(x => x.Id == 99)

Toplama (Aggregation)

Matematik
Sum: Toplam
Count: Adet
Max: En Büyük
Min: En Küçük

Miktar Belirleyiciler

Boolean
  • Any(): Hiç kayıt var mı? (veya şarta uyan)
  • All(): Hepsi şarta uyuyor mu?
  • Contains(): Listede var mı?

Akademik Özet

LINQ, modern yazılım mimarisinde veri manipülasyonunun kalbidir. Ertelenmiş yürütme (Deferred Execution) performansı optimize ederken, Lambda ifadeleri ve Extension Method'lar kodun okunabilirliğini ve yazım hızını artırır. Bir yazılım mühendisi için LINQ operatörlerine hakim olmak, veri yapıları üzerinde cerrahi bir yetkinlik kazandırır.

Web Programlama 2 © 2024

Ünite 8: LINQ Teknolojisi - Akademik Ders Notları

Hiç yorum yok:

Yorum Gönder

Web Programlama - 3. Sınıf - 8. Ünite Özet

Web Programlama 2 - Ünite 8: LINQ Teknolojisi Ders No...