LINQ to Entities Sorguları

Sorgu, veri kaynağından veri alan bir ifadedir. Sorgular genellikle ilişkisel veritabanları için SQL ve XML için XQuery gibi özel bir sorgu dilinde ifade edilir. Bu nedenle, geliştiricilerin sorguladıkları her veri kaynağı veya veri biçimi türü için yeni bir sorgu dili öğrenmeleri gerekiyordu. DilLe Tümleşik Sorgu (LINQ), çeşitli veri kaynakları ve biçimlerde verilerle çalışmak için daha basit, consis çadır modu l sunar. LINQ sorgusunda her zaman programlama nesneleriyle çalışırsınız.

LINQ sorgu işlemi üç eylemden oluşur: veri kaynağını veya kaynakları alma, sorguyu oluşturma ve sorguyu yürütme.

Genel arabirimi veya IQueryable<T> genel arabirimi uygulayan IEnumerable<T> veri kaynakları LINQ aracılığıyla sorgulanabilir. Genel arabirimi uygulayan genel ObjectQuery<T>IQueryable<T> sınıfın örnekleri, LINQ to Entities sorguları için veri kaynağı görevi görür. Genel ObjectQuery<T> sınıf, sıfır veya daha fazla türe sahip nesne koleksiyonu döndüren bir sorguyu temsil eder. C# anahtar sözcüğünü var (Visual Basic'te Dim) kullanarak derleyicinin varlık türünü çıkarmasına da izin vekleyebilirsiniz.

Sorguda, veri kaynağından almak istediğiniz bilgileri tam olarak belirtirsiniz. Sorgu ayrıca bu bilgilerin döndürülmeden önce nasıl sıralanacağını, gruplandırılacağını ve şekillendirileceğini belirtebilir. LINQ'te sorgu bir değişkende depolanır. Sorgu bir değer dizisi döndürürse, sorgu değişkeninin kendisi sorgulanabilir bir tür olmalıdır. Bu sorgu değişkeni hiçbir işlem gerçekleştirmez ve veri döndürmez; yalnızca sorgu bilgilerini depolar. Bir sorgu oluşturduktan sonra, herhangi bir veri almak için bu sorguyu yürütmeniz gerekir.

Sorgu Söz Dizimi

LINQ to Entities sorguları iki farklı söz diziminde oluşturulabilir: sorgu ifadesi söz dizimi ve yöntem tabanlı sorgu söz dizimi. Sorgu ifadesi söz dizimi C# 3.0 ve Visual Basic 9.0'da yenidir ve Transact-SQL veya XQuery'ye benzer bildirim temelli bir söz diziminde yazılmış bir yan tümce kümesinden oluşur. Ancak. .NET Framework ortak dil çalışma zamanı (CLR), sorgu ifadesi söz diziminin kendisini okuyamaz. Bu nedenle, derleme zamanında sorgu ifadeleri CLR'nin anladığı bir şeye çevrilir: yöntem çağrıları. Bu yöntemler standart sorgu işleçleri olarak bilinir. Geliştirici olarak, sorgu söz dizimini kullanmak yerine yöntem söz dizimini kullanarak bunları doğrudan çağırma seçeneğiniz vardır. Daha fazla bilgi için bkz . LINQ'te Sorgu Sözdizimi ve Yöntem Sözdizimi.

Sorgu İfadesi Söz Dizimi

Sorgu ifadeleri bildirim temelli bir sorgu söz dizimidir. Bu söz dizimi, bir geliştiricinin Transact-SQL'e benzer şekilde biçimlendirilmiş üst düzey bir dilde sorgu yazmasına olanak tanır. Sorgu ifadesi söz dizimini kullanarak, veri kaynakları üzerinde en az kodla karmaşık filtreleme, sıralama ve gruplandırma işlemlerini bile gerçekleştirebilirsiniz. Daha fazla bilgi için bkz . Temel Sorgu İşlemleri (Visual Basic). Sorgu ifadesi söz diziminin nasıl kullanılacağını gösteren örnekler için aşağıdaki konulara bakın:

Yöntem Tabanlı Sorgu Söz Dizimi

LINQ to Entities sorgularını oluşturmanın bir diğer yolu da yöntem tabanlı sorgular kullanmaktır. Yöntem tabanlı sorgu söz dizimi, LAMBDA ifadelerini parametre olarak geçiren, LINQ işleç yöntemlerine doğrudan yöntem çağrıları dizisidir. Daha fazla bilgi için bkz . Lambda İfadeleri. Yöntem tabanlı söz diziminin nasıl kullanılacağını gösteren örnekler için aşağıdaki konulara bakın:

Ayrıca bkz.