"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo convertir eficientemente un DataArader en una lista en .NET?

¿Cómo puedo convertir eficientemente un DataArader en una lista en .NET?

Publicado el 2025-02-02
Navegar:961

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

Datos de procesamiento eficientes: convertir dataReader en enumerar

Al procesar datos en el entorno .NET, es posible que deba convertir el DataArader (un flujo de datos que solo se lee) a formatos más fáciles de administrar, como List . Esta conversión le permite acceder y procesar datos estructurados de manera más eficiente. Solución: extensión

Un método de conversión es usar el método de expansión. El ejemplo es el siguiente:

public static Ienumerable select (este lector de ídareader, FUNC Proyecto) {{ While (lector.read ()) {{ Proyecto de retorno de rendimiento (lector); } } Este método de expansión le permite seleccionar datos del DataArader con una función de proyección y convertirlo en IEnumeration

.

cómo usar el método de uso
public static IEnumerable Select(this IDataReader reader,
                                       Func projection)
{
    while (reader.Read())
    {
        yield return projection(reader);
    }
}
, puede usar el siguiente código:

usando (ídareader lector = ...) {{ List CLIENDS = Reader.select (r => nuevo cliente { CustomerId = R ["ID"] ¿DBNULL? Cusomername = R ["Nombre"] ¿Dbnull? }). }

Este ejemplo convierte la fila en el dataArader en una lista del objeto del cliente. Método alternativo: método especial para tipos físicos

o, puede crear un método estático dedicado en la entidad del cliente:

public static Cliente fromDatareader (lector idatareader) {...}
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();
}

Usando este método, puede simplificar el proceso de conversión:

usando (ídareader lector = ...) {{ List CLIENDS = Reader.Select Con estas tecnologías, puede convertir de manera eficiente los datos en DataReader en List

para usar las funciones potentes de LINQ para una operación y procesamiento de datos adicionales.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3