Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un'espressione costante è costituita da un valore costante. I valori costanti vengono convertiti direttamente in espressioni ad albero dei comandi costanti, senza alcuna traduzione nel client. Sono incluse le espressioni che generano un valore costante. Pertanto, il comportamento dell'origine dati deve essere previsto per tutte le espressioni che coinvolgono costanti. Ciò può comportare un comportamento diverso dal comportamento CLR.
Nell'esempio seguente viene illustrata un'espressione costante valutata nel 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 to Entities non supporta l'uso di una classe utente come costante. Tuttavia, un riferimento di proprietà in una classe utente viene considerato una costante e verrà convertito in un'espressione costante dell'albero dei comandi ed eseguita nell'origine dati.