Állandó kifejezések
Az állandó kifejezések állandó értékből állnak. Az állandó értékek közvetlenül konstans parancsfa-kifejezésekké lesznek konvertálva, anélkül, hogy az ügyfélen fordításra kerülnek. Ide tartoznak azok a kifejezések, amelyek állandó értéket eredményeznek. Ezért minden állandót tartalmazó kifejezés esetében elvárni kell az adatforrás viselkedését. Ez a CLR-viselkedéstől eltérő viselkedést eredményezhet.
Az alábbi példa egy állandó kifejezést mutat be, amelyet a rendszer kiértékel a kiszolgálón.
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
A LINQ to Entities nem támogatja a felhasználói osztály állandóként való használatát. A felhasználói osztály tulajdonsághivatkozásai azonban állandónak minősülnek, és parancsfa-állandó kifejezéssé lesznek konvertálva, és végrehajtják az adatforráson.