LINQ Nedir?
LINQ (Language Integrated Query), C# diline entegre edilmiş veri sorgulama teknolojisidir. Koleksiyonlar, diziler, XML, veritabanları ve daha fazlası üzerinde SQL benzeri sözdizimi veya fluent API ile sorgulama yapılmasını sağlar. LINQ sayesinde farklı veri kaynakları için tek bir sorgulama paradigması kullanılır; bu da kod tutarlılığını ve okunabilirliğini artırır.
LINQ Sözdizimi: Query ve Method
LINQ'nin iki yazım biçimi vardır:
// Query Syntax (SQL benzeri)
var sonuc = from p in products
where p.Price > 100
orderby p.Name
select p;
// Method Syntax (Fluent)
var sonuc = products
.Where(p => p.Price > 100)
.OrderBy(p => p.Name);
Temel LINQ Operatörleri
Where– FiltrelemeSelect– Projeksiyon (veri dönüştürme)OrderBy / OrderByDescending– SıralamaGroupBy– GruplamaJoin / GroupJoin– İki koleksiyon birleştirmeFirst / FirstOrDefault– İlk elemanAny / All– Koşul kontrolüCount / Sum / Average / Max / Min– Aggregate
LINQ ile Anonim Tip ve Projeksiyon
var ozet = siparisler
.GroupBy(s => s.MusteriId)
.Select(g => new {
MusteriId = g.Key,
ToplamSiparis = g.Count(),
ToplamTutar = g.Sum(s => s.Tutar)
})
.OrderByDescending(x => x.ToplamTutar);
LINQ to Entities (Entity Framework)
Entity Framework Core ile LINQ sorguları SQL sorgularına çevrilir. IQueryable yapısında zincir sorgular veritabanına tek seferlik optimize SQL olarak gönderilir. AsNoTracking() salt okunur sorgularda performansı artırır.
Deferred Execution
LINQ sorguları tanımlandıklarında değil, iterasyon başladığında (foreach, ToList, Count vb.) çalışır. Bu "ertelenmiş çalıştırma" büyük veri setlerinde bellek kullanımını optimize eder.
Bilkey C# Programlama Kursu
Bilkey Bilişim Akademisi C# Programlama Kursu'nda LINQ, Entity Framework Core, async/await ve modern C# özellikleri uygulamalı olarak öğretilmektedir. Kurtköy merkezimizde birebir ders alarak .NET uzmanı olun. 0216 354 7979