Constante expressies
Een constante expressie bestaat uit een constante waarde. Constante waarden worden rechtstreeks geconverteerd naar constante opdrachtstructuurexpressies, zonder vertaling op de client. Dit omvat expressies die resulteren in een constante waarde. Daarom moet het gedrag van de gegevensbron worden verwacht voor alle expressies met constanten. Dit kan leiden tot gedrag dat verschilt van CLR-gedrag.
In het volgende voorbeeld ziet u een constante expressie die wordt geƫvalueerd op de server.
Decimal totalDue = 200 + 3;
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
IQueryable<string> salesInfo =
from s in context.SalesOrderHeaders
where s.TotalDue >= totalDue
select s.SalesOrderNumber;
Console.WriteLine("Sales order numbers:");
foreach (string orderNum in salesInfo)
{
Console.WriteLine(orderNum);
}
}
Dim totalDue = 200 + 3
Using context As New AdventureWorksEntities()
Dim salesInfo = _
From s In context.SalesOrderHeaders _
Where s.TotalDue >= totalDue _
Select s.SalesOrderNumber
Console.WriteLine("Sales order numbers:")
For Each orderNum As String In salesInfo
Console.WriteLine(orderNum)
Next
End Using
LINQ naar entiteiten biedt geen ondersteuning voor het gebruik van een gebruikersklasse als een constante. Een eigenschapsreferentie voor een gebruikersklasse wordt echter beschouwd als een constante en wordt geconverteerd naar een expressie van een opdrachtstructuurconstante en uitgevoerd op de gegevensbron.