programing

시스템.Linq.IQueryable에 '위치'에 대한 정의가 없습니다.

telecom 2023. 8. 8. 20:04
반응형

시스템.Linq.IQueryable에 '위치'에 대한 정의가 없습니다.

여기는 매우 이상한 상황입니다.어떤 이유로 인해 IQueryable 개체에서 '어디' 또는 다른 함수를 호출할 수 없습니다.

제가 가진 것은 다음과 같습니다.

public IQueryable<Employee> Employees
{
    get { return _entities.Employees.AsQueryable(); }
}


public ActionResult Index()
{
    return View(new HomeViewModel
        {
            Employees = Employees.Where(e => e.Active == true)
        });
}

그러나 IntelliSense가 Where 기능을 선택하지 않고 다음과 같은 빌드 오류가 발생합니다.

'시스템'Linkq.IQueryable'에 'Where'에 대한 정의와 'System' 유형의 첫 번째 인수를 수락하는 확장 메서드 'Where'가 없습니다.'Linq.IQueryable'을 찾을 수 있습니다(사용 지침 또는 어셈블리 참조가 누락되었습니까?).

하지만 전화는 할 수 있습니다..Where이렇게 하면 작동합니다.

public IQueryable<Employee> Employees
{
    get { return _entities.Employees.AsQueryable().Where(e => e.Active == true); }
}

무슨 일인지 전혀 모르겠어요.

다음을 추가해야 합니다.using System.Linq;(해석) 명령문 지시문이 작동하지 않는 파일에 있습니다.IEnumberable/에 대한 모든 확장 방법IQueryable은 Enumerable 클래스와 Queryable 클래스에 각각 정의됩니다.

확장 메서드를 사용하려면 메서드를 정의하는 클래스가 범위 내에 있어야 합니다.두 번째 코드 스니펫은 사용 설명서가 있는 다른 파일에서 온 것 같습니다.

언급URL : https://stackoverflow.com/questions/7489848/system-linq-iqueryable-does-not-contain-a-definition-for-where

반응형