Aracılığıyla paylaş


LINQ to SQL Sorguları

LINQ to SQL sorgularını, LINQ ile aynı söz dizimini kullanarak tanımlarsınız. Tek fark, sorgularınızda başvuruda bulunan nesnelerin veritabanındaki öğelerle eşlenmesidir. Daha fazla bilgi için bkz . LINQ Sorgularına Giriş (C#).

LINQ to SQL, yazdığınız sorguları eşdeğer SQL sorgularına çevirir ve işlenmek üzere sunucuya gönderir. Daha açık belirtmek gerekirse, uygulamanız sorgu yürütme isteğinde bulunmak için LINQ to SQL API'sini kullanır. ARDıNDAN LINQ to SQL sağlayıcısı sorguyu SQL metnine dönüştürür ve yürütmeyi ADO sağlayıcısına devreder. ADO sağlayıcısı sorgu sonuçlarını olarak DataReaderdöndürür. LINQ to SQL sağlayıcısı, ADO sonuçlarını bir IQueryable kullanıcı nesneleri koleksiyonuna çevirir.

Uyarı

.NET Framework yerleşik türlerindeki çoğu yöntem ve işleç, SQL'e doğrudan çevirilere sahiptir. LINQ'in çeviremediği durumlar çalışma zamanı hataları oluşturur. Daha fazla bilgi için bkz. tür eşlemesiSQL-CLR.

Aşağıdaki tabloda LINQ ve LINQ ile SQL sorgu öğeleri arasındaki benzerlikler ve farklar gösterilmektedir.

Ürün LINQ Sorgusu LINQ to SQL Sorgusu
Sorguyu tutan yerel değişkenin dönüş türü (dizi döndüren sorgular için) Genel IEnumerable Genel IQueryable
Veri kaynağını belirtme From (Visual Basic) veya from (C#) yan tümcesini kullanır Aynısı
Filtreleme Where / where cümlesini kullanır Aynısı
Gruplama Group…By / groupby cümlesini kullanır Aynısı
Seçme (Yansıtma) Select / select cümlesini kullanır Aynısı
Anında yürütme yerine ertelenmiş yürütme Bkz. LINQ Sorgularına Giriş (C#) Aynısı
Birleştirmeleri uygulama Join / join cümlesini kullanır yan tümcesini Join/join kullanabilir, ancak özniteliğini AssociationAttribute daha etkili bir şekilde kullanır. Daha fazla bilgi için bkz. İlişkiler Arasında Sorgulama.
Uzak ve yerel yürütme karşılaştırması Daha fazla bilgi için bkz . Uzak ve Yerel Yürütme.
Akış ve önbelleğe alınmış sorgulama karşılaştırması Yerel bellek senaryosunda geçerli değil

Ayrıca bakınız