IDataReader zu Objektzuordnung unter Verwendung von Generika
Wie kann ich ein DataReader-Objekt mithilfe von Generika einem Klassenobjekt zuordnen?
Zum Beispiel muss ich Folgendes tun:
public class Mapper<T>
{
public static List<T> MapObject(IDataReader dr)
{
List<T> objects = new List<T>();
while (dr.Read())
{
//Mapping goes here...
}
return objects;
}
}
Und später muss ich diese Klassenmethode wie folgt aufrufen:
IDataReder dataReader = DBUtil.Fetchdata("SELECT * FROM Book");
List<Book> bookList = Mapper<Book>.MapObject(dataReder);
foreach (Book b in bookList)
{
Console.WriteLine(b.ID + ", " + b.BookName);
}
Beachten Sie, dass die Mapper-Klasse in der Lage sein sollte, Objekte von jedem Typ abzubilden, der durch T dargestellt wird.