LINQ to Entities Sorgu İfadeleri
İfade, tek bir değer, nesne, yöntem veya ad alanı olarak değerlendirilebilen bir kod parçasıdır. İfadeler değişmez değer, yöntem çağrısı, işleç ve işlenenleri veya basit bir ad içerebilir. Basit adlar bir değişkenin, tür üyesinin, yöntem parametresinin, ad alanının veya türün adı olabilir. İfadeler, sırayla diğer ifadeleri parametre olarak kullanan işleçler veya parametreleri sırayla diğer yöntem çağrıları olan yöntem çağrıları kullanabilir. Bu nedenle ifadeler basitten çok karmaşıka kadar değişebilir.
LINQ to Entities sorgularında ifadeler, lambda ifadeleri de dahil olmak üzere ad alanı içindeki türlerin System.Linq.Expressions izin verdiği her şeyi içerebilir. LINQ to Entities sorgularında kullanılabilecek ifadeler, Entity Framework'ün sorgulanması için kullanılabilecek ifadelerin üst kümesidir. Entity Framework'e yönelik sorguların parçası olan ifadeler ve temel alınan veri kaynağı tarafından ObjectQuery<T>
desteklenen işlemlerle sınırlıdır.
Aşağıdaki örnekte yan tümcesindeki Where
karşılaştırma bir ifadedir:
Decimal totalDue = 200;
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
IQueryable<int> salesInfo =
from s in context.SalesOrderHeaders
where s.TotalDue >= totalDue
select s.SalesOrderID;
Console.WriteLine("Sales order info:");
foreach (int orderNumber in salesInfo)
{
Console.WriteLine("Order number: " + orderNumber);
}
}
Dim totalDue = 200
Using context As New AdventureWorksEntities()
Dim salesInfo = _
From s In context.SalesOrderHeaders _
Where s.TotalDue >= totalDue _
Select s.SalesOrderID
Console.WriteLine("Sales order info:")
For Each orderNumber As Integer In salesInfo
Console.WriteLine("Order number: " & orderNumber)
Next
End Using
Not
C# unchecked
gibi belirli dil yapılarının LINQ to Entities içinde bir anlamı yoktur.
Bu Bölümde
İlişkiler, gezinti özellikleri ve yabancı anahtarlar