Làm cách nào để ánh xạ đối tượng DataReader vào đối tượng lớp bằng cách sử dụng Generics?C# - IDataReader để ánh xạ đối tượng bằng cách sử dụng Generics
Ví dụ tôi cần phải làm như sau:
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;
}
}
Và sau đó tôi cần phải gọi đây là đẳng cấp phương pháp như sau:
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);
}
Lưu ý rằng, các Mapper - lớp nên có thể ánh xạ đối tượng thuộc bất kỳ loại nào được đại diện bởi T.
Một đề xuất - hãy đọc vào một tài khoản số có thể thu được bằng IE với thu nhập lợi nhuận. –
// ánh xạ đến đây, chính xác những gì tôi đã cho bạn thấy trong câu trả lời của tôi, bạn có thể ánh xạ bất kỳ đối tượng nào tới trình đọc dữ liệu (chính xác hơn: tiêm các giá trị từ IDataReader vào một đối tượng BẤT CỨ LOẠI) – Omu
Tại sao bạn không sử dụng dành riêng cho ORM sau đó? Một vi-ORM như Dapper có vẻ là một phù hợp tốt ở đây. – nawfal