Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menukar DataReader dengan Cekap kepada Senarai dalam .NET?

Bagaimanakah Saya Boleh Menukar DataReader dengan Cekap kepada Senarai dalam .NET?

Susan Sarandon
Susan Sarandonasal
2025-01-16 22:17:09986semak imbas

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

Proses data dengan cekap: Tukar DataReader ke Senarai

Apabila memproses data dalam persekitaran .NET, anda mungkin mahu menukar DataReader (strim data yang hanya dibaca ke hadapan) kepada format yang lebih terurus, seperti Senarai. Transformasi ini membolehkan anda mengakses dan memproses data berstruktur dengan lebih cekap.

Penyelesaian: Kaedah sambungan

Satu cara untuk menukar adalah menggunakan kaedah sambungan. Contohnya adalah seperti berikut:

<code class="language-csharp">public static IEnumerable<T> Select<T>(this IDataReader reader,
                                       Func<IDataReader, T> projection)
{
    while (reader.Read())
    {
        yield return projection(reader);
    }
}</code>

Kaedah sambungan ini membolehkan anda menggunakan fungsi unjuran untuk memilih data daripada DataReader dan menukarnya kepada IEnumerable.

Contoh penggunaan

Untuk menukar data kepada Senarai anda boleh menggunakan kod berikut:

<code class="language-csharp">using (IDataReader reader = ...)
{
    List<Customer> 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();
}</code>

Contoh ini menukarkan baris dalam DataReader kepada senarai objek Pelanggan.

Alternatif: kaedah khusus untuk jenis entiti

Sebagai alternatif, anda boleh membuat kaedah statik khusus dalam entiti Pelanggan:

<code class="language-csharp">public static Customer FromDataReader(IDataReader reader) { ... }</code>

Kaedah ini bertanggungjawab untuk mencipta objek Pelanggan berdasarkan data dalam DataReader.

Menggunakan kaedah ini, anda boleh memudahkan proses penukaran:

<code class="language-csharp">using (IDataReader reader = ...)
{
    List<Customer> customers = reader.Select<Customer>(Customer.FromDataReader)
                                     .ToList();
}</code>

Melalui teknik ini, anda boleh menukar data dalam DataReader ke Senarai dengan cekap, dengan itu memanfaatkan kuasa LINQ untuk manipulasi dan pemprosesan data selanjutnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar DataReader dengan Cekap kepada Senarai dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn