Yeni Üye Kaydı  |  Kullanıcı adını veya şifreni mi unuttun?
PORT25, SOURCEFORGE, CodePlex
Son Üye: emrefc   
      
Datatable daki veriyi istenilen class tipinde list e dönüştürmek
  Yazar : skizilkaya   
Eklenme Tarihi : 08 Ekim 2010 Cuma
Okunma sayısı : 2378
Ortalama Puan : 8
Puan vermek için üye girişi yapınız.

Özet
Veritabında ki tabloları, oluşturduğumuz nesne tipindeki verilerle eşleştiren, geriye List tipinde veri döndüren kod parçası.
 
Kod Parçası
Veritabındaki kolon adları ve veri tipleriyle List tipine döndürmek istediğimiz nesnenin property adları ve veri tipleri aynı olmak şartıyla, dinamik olarak tabloları List<Object> tipinde kullanmak mümkün.
Örneğin; 
public class Ayarlar
   {
       string anahtar;
       public string Anahtar
       {
           get { return anahtar; }
           set { anahtar = value; }
       }
       string deger;
       public string Deger
       {
           get { return deger; }
           set { deger = value; }
       }
   }
şeklinde bir nesnemiz olsun. Anahtar ve Deger kolonlarına sahip bir tabloyla dinamik olarak eşleştirebiliriz. Yapmamız gereken oluşturduğumuz DataTable nesnesini nesne ismiyle birlikte bu metoda göndermek.
public static List<Object> VeriCek(String sinifAdi, DataTable dt)
       {
         
           List<Object> liste = new List<Object>();
           Type t = Type.GetType(sinifAdi);
           Object obj = null;
           foreach (DataRow dr in dt.Rows)
           {
               obj = Activator.CreateInstance(t);
               foreach (PropertyInfo item in t.GetProperties())
               {
                   if (!dr[item.Name].Equals(DBNull.Value))
                       item.SetValue(obj, dr[item.Name], null);
               }
               liste.Add(obj);
           }
           return liste;
       }
Kullanımı : 
List<Object> liste = VeriCek(dt,"Ayarlar");
foreach(Ayarlar a in liste)
{
Response.Write(a.Anahtar + " " + a.Deger + "<br/>");
}
 
Dosyalar
Dosya bulunamadı.
 
Paylaşım
 
Yorumlar

Yorum ekleyebilmek için üye olmalısınız.