객체의 데이터를 찾아오는 타입이 있고
SQL 표현으로 바꿔 쿼리를 날리는 타입이 있음
이 둘은 작동방식이 완전히 다른데 거의 동일한 표현식 사용 가능
둘이 반환하는 타입은 객체는 IEnumerable 구현체
sql은 IQueryable임
좀 특기할만한거는
IQueryable 형태로 반환을 하도록 연속적인 Linq를 쓰게 되면
자동으로 한방쿼리를 만들어서 db에 날림
var q =
from c in db.Customer
var result =
from r in c
where c.Type == 0
orderby c.age
이렇게 각각 따로 표현식을 써도 파싱해서 한방쿼리가 날아간단거임
반면에 처음으로 반환받은 q를 AsEnumerable() 메소드로 받으면 다음에 실행되는 Linq는 로컬에서 연산됨
ㅇㅇ - dc App