문제

이 상황에서 :

var allCustomers = from c in customers select c;
var oldCustomers = from o in allCustomers where o.age > 70 select o;
.

여기서 절이 데이터베이스 도달?

도움이 되었습니까?

해결책

나는 당신이 의미한다고 생각합니다 :

var oldCustomers = from o in allCustomers where o.age > 70 select o;
.

및 예, 데이터베이스에 도달합니다.

LINQPAD를 사용하여 생성 된 SQL 코드를보십시오.예제는 다음과 같습니다.

필드가있는 Actor 테이블이 있습니다.

Id | Name | Age

코드 :

var x = from c in Actors where c.Name.Contains("a") select c;
var y = from c in x where c.Age > 0 select c;
.

번역 :

-- Region Parameters
DECLARE @p0 Int = 0
DECLARE @p1 NVarChar(3) = '%a%'
-- EndRegion
SELECT [t0].[Id], [t0].[Name], [t0].[Age]
FROM [Actor] AS [t0]
WHERE ([t0].[Age] > @p0) AND ([t0].[Name] LIKE @p1)
.

오직 하나의 쿼리를 믹스하는 방법을 볼 수 있습니다.

기억하십시오, iEnumerables는 지연되어 있으므로, 요소를 알아야하지 않는 한 (또는 그들이 그들을 반복하기 때문에, 또는 .Count()가 얼마나 많은 항목이 있는지, etc 등을 보려면 쿼리 / 작업을 수행하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top