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
Lepaskan: 2025-01-16 22:17:09
asal
981 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan