2013-02-16 2 views
0

나는 다음과 같은 쿼리가 :가능한 여러 열거/손자는 객체

baseQuery = Buildings.Where(
    i => i.Apartment != null 
    && i.Apartment.Manager != null 
    && i.Apartment.Manager.Name == Username); 

내가 내가 여기에 세 가지 별도의 쿼리를 수행하고 있습니다 때문에이 오류가 있다고 생각, 그래서이 작업입니다 슈퍼 천천히 갈거야. 어떤 식 으로든이 수표를 최적화 할 수 있습니까?

편집 : resharper에서 "가능한 여러 열거 형 IEnumerable"을 얻습니다.

+0

어떤 오류가 발생합니까? 유용한 정보가 유용합니다! – Moo

+0

resharper에서 "Possible Multiple Enumeration of IEnumerable"이 가능합니다. – user2062383

답변

2

ContextProvider.Context.InspectionsDbSet 또는 IQueryable이라고 가정하면 이로 인해 IEnumerable이 여러 번 열거되지는 않습니다. 표현식은 SQL 조회로 변환되어 서버에서 실행됩니다. 행 뒤에 중단 점을두고 baseQuery 위로 마우스를 가져 가면 생성 된 SQL을 볼 수 있습니다.

resharper의 가양 성처럼 보입니다.

+0

DbSet입니다. 도움을 주셔서 감사합니다. – user2062383