2010-12-22 2 views
1

간단한 질문 : 내 저장소의 확인 게으른 로딩 LINQ [간단]

부분이

public class CustomerRepository : IRepository<Customer> 
{ 
    public IQueryable<Customer> GetAll() 
    { 
    MyDataEntities ent = new MyDataEntities(); 
    return from c in ent.Customers select c; 
    } 
} 

과 같은

지금은 1 만 개 고객을 말할 수, 나는이 작업을 수행 할 경우 :

var cus = from c in GetAll() where c.FirstName == "jon" select c; 

GETALL()가 늘 모든 10,000하지만 게으른로드 전체를로드하는 것이 알려주세요? 그것은 어딘가에 놓을 필요가있는 것이거나 자동적으로 일어나는 것입니까?

게으른로드인지 확인하는 방법도 알지 못합니다. 실제 SQL 쿼리가 SQL Server에 침을 뱉은 것을 볼 수 있습니까?

죄송합니다.

답변

1

예. GetAll이 (가) IQueryable입니다. 이것이 일어나고 있는지 확인하는 쉬운 방법 중 하나는 프로파일 러를 열고 실행중인 쿼리를 보는 것입니다. 또는 디버거에서 IQueryable 개체를 조사하십시오.

+0

프로필을 볼 수있는 곳을 자세히 설명해 주시겠습니까? SQL 관리 스튜디오 2008 익스프레스 2008 R2는 VS 2010 – gideon

+0

확인 익스프레스를 사용하지만, 거기에 새로운 옵션이 있습니다 : http://stackoverflow.com/questions/760321/is-there-a-sql-server-profiler-for-sql-express – gideon

+1

익스프레스 버전에 포함되어 있는지 확실하지 않습니다. 어쩌면이 하나를 사용할 수 있습니다 : http://sites.google.com/site/sqlprofiler/. 그렇지 않다면 Visual Studio 디버거를 사용하고'cus' 객체를 살펴보고 그곳에서 질의를 찾을 수 있습니다. –

관련 문제