Próbuję przekonwertować DataTable na IEnumerable. Gdzie T jest niestandardowym typem, który stworzyłem. Wiem, że mogę to zrobić, tworząc listę, ale myślałem, że był to najlepszy sposób, aby to zrobić za pomocą IEnumerable. Oto, co mam teraz.Konwertuj DataTable na 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();
}
Kluczową częścią jest to, że tworzę listę, a następnie zwracam ją przy pomocy AsEnumerable().
Matt Greer dzięki za odpowiedź. To wygląda dobrze. Myślę, że spróbuję i zobaczę, co się stanie. – mpenrow
Ta odpowiedź zadziałała bardzo dobrze. Dzięki! –