LINQ to Entities 쿼리의 식
식은 단일 값, 개체, 메서드, 네임스페이스 등으로 계산될 수 있는 코드의 일부입니다. 식에는 리터럴 값, 메서드 호출, 연산자와 해당 피연산자, 단순한 이름 등이 포함될 수 있습니다. 단순한 이름이란 변수, 형식 멤버, 메서드 매개 변수, 네임스페이스 또는 형식의 이름일 수 있습니다. 식은 다른 식을 매개 변수로 사용하는 연산자를 사용할 수 있으며 다른 메서드 호출을 매개 변수로 가지는 메서드 호출을 사용할 수도 있습니다. 따라서 식은 단순한 형태에서 매우 복잡한 형태까지 다양합니다.
LINQ to Entities 쿼리에서 식은 System.Linq.Expressions 네임스페이스 내의 형식에 허용되는 모든 항목을 포함할 수 있습니다(람다 식 포함). LINQ to Entities 쿼리에 사용할 수 있는 식은 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에서 의미가 없습니다.