Estoy tratando de convertir una DataTable en IEnumerable. Donde T es un tipo personalizado que creé. Sé que puedo hacerlo mediante la creación de una lista, pero me pareció que había una forma más sencilla de hacerlo con IEnumerable. Esto es lo que tengo ahora.Convertir DataTable a IEnumerable <T>
private IEnumerable<TankReading> ConvertToTankReadings(DataTable dataTable)
{
var tankReadings = new List<TankReading>();
foreach (DataRow row in dataTable.Rows)
{
var tankReading = new TankReading
{
TankReadingsID = Convert.ToInt32(row["TRReadingsID"]),
TankID = Convert.ToInt32(row["TankID"]),
ReadingDateTime = Convert.ToDateTime(row["ReadingDateTime"]),
ReadingFeet = Convert.ToInt32(row["ReadingFeet"]),
ReadingInches = Convert.ToInt32(row["ReadingInches"]),
MaterialNumber = row["MaterialNumber"].ToString(),
EnteredBy = row["EnteredBy"].ToString(),
ReadingPounds = Convert.ToDecimal(row["ReadingPounds"]),
MaterialID = Convert.ToInt32(row["MaterialID"]),
Submitted = Convert.ToBoolean(row["Submitted"]),
};
tankReadings.Add(tankReading);
}
return tankReadings.AsEnumerable();
}
La parte clave es que estoy creando una Lista y luego regresándola usando AsEnumerable().
Matt Greer gracias por su respuesta. Esto luce bien. Creo que lo probaré y veré qué pasa. – mpenrow
Esta respuesta funcionó muy bien para mí. ¡Gracias! –