2012-05-10 3 views
0

Linq를 사용하면 더 효율적인 방법이 있습니까? How do I load data to a list from a dataReader? 그러나 이것이 내가 위의이 같은 코드이며, 더 빠른 방법이 될 수 있었던 것처럼 보인다 목록으로 돌아 가기

IDataReader reader = qSeats.ExecuteReader(); 
      var seats = new List<int>(); 
      using (IDataReader reader = qSeats.ExecuteReader()) 
      { 
       while (reader.Read()) 
       { 
        seats.Add(Convert.ToInt32(reader.GetInt32(0))); 
       } 
      } 

나는 보았다. Linq 또는 seats.AddRange() 또는 ToList()와 같은 것을 사용합니다.

답변

1

DataReader는 데이터베이스에서 읽기 전용 전용 데이터 스트림입니다. 당신이하는 방식이 아마 가장 빠를 것입니다.

가 사용할 수있게되면 오히려 쿼리의 전체 결과를 반환 할 기다리는 것보다 빨리 데이터를 검색하여 모두 응용 프로그램의 성능을 향상시킬 수 있습니다 DataReader를 사용하고, 는 하나 개의 행을 저장 (기본적으로) 한 번에 메모리에 저장되므로 시스템 오버 헤드가 줄어 듭니다. Retrieving Data Using the DataReader

+0

예외적으로 두 번 – CRice