Výrazy konstant
Konstantní výraz se skládá z konstantní hodnoty. Konstantní hodnoty se přímo převedou na výrazy stromu příkazů konstant bez jakéhokoli překladu na klientovi. To zahrnuje výrazy, které vedou k konstantní hodnotě. Proto by se mělo očekávat chování zdroje dat pro všechny výrazy zahrnující konstanty. Výsledkem může být chování, které se liší od chování CLR.
Následující příklad ukazuje konstantní výraz, který je vyhodnocen na serveru.
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 to Entities nepodporuje použití třídy uživatele jako konstanty. Odkaz na vlastnost třídy uživatele je však považován za konstantu a bude převeden na výraz konstanty stromu příkazů a proveden ve zdroji dat.