Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Выражение — это фрагмент кода, который можно вычислить до одного значения, объекта, метода или пространства имен. Выражения могут содержать литеральное значение, вызов метода, оператор и его операнды или простое имя. Простые имена могут быть именем переменной, элемента типа, параметра метода, пространства имен или типа. Выражения могут использовать операторы, которые, в свою очередь, используют другие выражения в качестве параметров или вызовы методов, параметры которых в свою очередь являются другими вызовами методов. Таким образом, выражения могут варьироваться от простых до очень сложных.
В запросах LINQ to Entity выражения могут содержать все, что разрешено типами в System.Linq.Expressions пространстве имен, включая лямбда-выражения. Выражения, которые можно использовать в запросах LINQ to Entity, являются супермножеством выражений, которые можно использовать для запроса Entity Framework. Выражения, которые являются частью запросов к Entity Framework, ограничены операциями, поддерживаемыми ObjectQuery<T>
и базовым источником данных.
В следующем примере сравнение в Where
предложении является выражением:
Decimal totalDue = 200;
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
IQueryable<int> salesInfo =
from s in context.SalesOrderHeaders
where s.TotalDue >= totalDue
select s.SalesOrderID;
Console.WriteLine("Sales order info:");
foreach (int orderNumber in salesInfo)
{
Console.WriteLine("Order number: " + orderNumber);
}
}
Dim totalDue = 200
Using context As New AdventureWorksEntities()
Dim salesInfo = _
From s In context.SalesOrderHeaders _
Where s.TotalDue >= totalDue _
Select s.SalesOrderID
Console.WriteLine("Sales order info:")
For Each orderNumber As Integer In salesInfo
Console.WriteLine("Order number: " & orderNumber)
Next
End Using
Замечание
Специальные конструкции языка, такие как C# unchecked
, не имеют смысла в сущностях LINQ to Entities.
В этом разделе
отношения, навигационные свойства и внешние ключи