Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Константное выражение состоит из константного значения. Константные значения преобразуются непосредственно в выражения дерева констант команд без перевода на клиенте. К ним относятся выражения, которые приводят к константным значениям. Таким образом, поведение источника данных должно ожидаться для всех выражений, связанных с константами. Это может привести к поведению, которое отличается от поведения CLR.
В следующем примере показано константное выражение, вычисляемое на сервере.
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 не поддерживает использование пользовательского класса в качестве константы. Однако ссылка на свойство в пользовательском классе считается константой и преобразуется в постоянное выражение дерева команд и выполняется в источнике данных.
См. также
- выражения в запросах LINQ to Entities