2010-06-24 6 views
2

나는이 문제에LINQ는

System.InvalidCastException을 실행 유형의 개체를 캐스팅 할 수 없습니다 'System.Data.Linq.DataQuery 1[Student]' to type 'System.Collections.Generic.List 1 [학생]'

나는이 기능을 디버깅 :

Public Shared Function SearchStudent(ByVal firstname As String) As List(Of Student) 

    Dim db As New DemoDataContext() 
    Dim query = From st In db.Students _ 
       Where (st.FirstName.StartsWith(firstname)) _ 
       Select st 

    Return CType(query, List(Of Student)) 


End Function 

내 프로젝트 속성 설정 : 옵션 명시 ON 내가 쿼리에서 학생의 목록을 반환 할

ON 엄격한 옵션. 누구든지 나를 도울 수 있습니까? 고맙습니다.

답변

3
Dim query = (From st In db.Students _ 
      Where (st.FirstName.StartsWith(firstname)) _ 
      Select st).ToList() 
+0

query.ToList (Of Student)도 작업을 수행합니다. –

+0

이 질문을 게시하기 전에 해당 옵션을 시도했습니다. 하지만이 오류가있어 System.Linq.Enumerable에 정의 된 'System.Collections.Generic.List (Of TSource)'의 확장 메서드 'Public Function ToList()는 일반 형식이 아니거나 자유 형식 매개 변수가 없으므로 가질 수 없습니다. 형식 인수 – Narazana

+0

어떨까요 .ToList()? 형식 매개 변수는 사용법에서 유추 할 수 있으므로 생략 할 수 있다고 생각합니다. –