"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 데이터 레이더를 .NET의 목록으로 효율적으로 변환하려면 어떻게해야합니까?

데이터 레이더를 .NET의 목록으로 효율적으로 변환하려면 어떻게해야합니까?

2025-02-02에 게시
검색:130

How Can I Efficiently Convert a DataReader into a List in .NET?

효율적인 처리 데이터 : DataReader를 나열하도록

.NET 환경에서 데이터를 처리 할 때는 DataReader (앞으로 읽는 데이터 흐름)를 List 와 같은 더 쉬운 형식으로 변환해야 할 수도 있습니다. 이 변환을 통해 구조화 된 데이터에보다 효율적으로 액세스하고 처리 할 수 ​​있습니다. 솔루션 : Extension

변환 방법은 확장 방법을 사용하는 것입니다. 예는 다음과 같습니다.

public static ienumerable (이 Idareader Reader, func project) {{ while (reader.read ()) {{ 수율 반환 프로젝트 (리더); } } 이 확장 방법을 사용하면 투영 함수가있는 데이터 드레더에서 데이터를 선택하여 ienumeration

로 변환 할 수 있습니다.

사용 방법
public static IEnumerable Select(this IDataReader reader,
                                       Func projection)
{
    while (reader.Read())
    {
        yield return projection(reader);
    }
}
다음 코드를 사용할 수 있습니다.

사용 (idaReader reader = ...) {{ List 고객 = Reader.Select (r => 새 고객 { CustomerID = r

는 dbnull : r

, cusomername = r 는 dbnull : r . }). tol tol (); }

이 예제는 DataReader의 행을 고객 개체 목록으로 변환합니다.

대체 방법 : 물리적 유형을위한 특수 방법
using (IDataReader reader = ...)
{
    List customers = reader.Select(r => new Customer {
        CustomerId = r["id"] is DBNull ? null : r["id"].ToString(),
        CustomerName = r["name"] is DBNull ? null : r["name"].ToString()
    }).ToList();
}
DataReader의 공개 정적 고객 (Idatareader Reader) {...}

이 방법은 DataReader의 데이터를 기반으로 고객 객체를 작성하는 데 책임이 있습니다. 이 방법을 사용하여 변환 프로세스를 단순화 할 수 있습니다 :

사용 (idaReader reader = ...) {{ List customer = reader.select

 이러한 기술을 사용하면 DataReader의 데이터를 List 로 효율적으로 변환하여 추가 데이터 작동 및 처리를 위해 LINQ의 강력한 기능을 사용 할 수 있습니다. 

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3