Dela via


Uttryck i LINQ till entitetsfrågor

Ett uttryck är ett fragment av kod som kan utvärderas till ett enda värde, ett objekt, en metod eller ett namnområde. Uttryck kan innehålla ett literalvärde, ett metodanrop, en operator och dess operander eller ett enkelt namn. Enkla namn kan vara namnet på en variabel, typmedlem, metodparameter, namnområde eller typ. Uttryck kan använda operatorer som i sin tur använder andra uttryck som parametrar eller metodanrop vars parametrar i sin tur är andra metodanrop. Därför kan uttryck variera från enkla till mycket komplexa.

I LINQ till entitetsfrågor kan uttryck innehålla allt som tillåts av typerna i System.Linq.Expressions namnområdet, inklusive lambda-uttryck. De uttryck som kan användas i LINQ till entitetsfrågor är en supermängd av de uttryck som kan användas för att köra frågor mot Entity Framework. Uttryck som ingår i frågor mot Entity Framework är begränsade till åtgärder som stöds av ObjectQuery<T> och den underliggande datakällan.

I följande exempel är jämförelsen Where i -satsen ett uttryck:

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

Kommentar

Specifika språkkonstruktioner, till exempel C# unchecked, har ingen betydelse i LINQ för entiteter.

I det här avsnittet

Konstanta uttryck

Jämförelseuttryck

Null-jämförelser

Initieringsuttryck

Relationer, navigeringsegenskaper och sekundärnycklar

Se även