Ana sayfa › Forumlar › PROGRAMLAMA › PHP › Collections.Generic.IEnumerable Hatası
- Bu konu 0 yanıt içerir, 1 izleyen vardır ve en son 12 yıl 8 ay önce Tolga tarafından güncellenmiştir.
-
YazarYazılar
-
20 Nisan 2012: 09:51 #12555Tolgaİzleyici
Aşağıdaki gibi listelerimiz olsun.
Kod:
public class Personeller
{
public int PersonelId { get; set; }
public string AdSoyad { get; set; }
public string CepTel { get; set; }
public string Email { get; set; }
public int KurumdakiGorevId { get; set; }
public int KurumId { get; set; }
public int KidemYili { get; set; }
public string Sifre { get; set; }
}public class Kurumlar
{
public int KurumId { get; set; }
public string Kurum { get; set; }
}public class KurumGorevleri
{
public int GorevId { get; set; }
public string Gorev { get; set; }
}public class DetayPersoneller
{
public int PersonelId { get; set; }
public string AdSoyad { get; set; }
public string CepTel { get; set; }
public string Email { get; set; }
public int KurumdakiGorevId { get; set; }
public int KurumId { get; set; }
public int KidemYili { get; set; }
public string Sifre { get; set; }
public string Kurum { get; set; }
public string Gorev { get; set; }
}Biz join işlemleri ile listelerimizi bu şekilde ilişkilendiriğimizi düşünelim
Kod:
ListKurumGorevleriListesi = veritabani_islemleri.SelectKurumGorevleri(-1);
ListKurumListesi = veritabani_islemleri.SelectKurumlar(-1);
ListPersonelListesi = veritabani_islemleri.SelectPersoneller(-1); List
veriler = (from p in PersonelListesi
join kl in KurumListesi on p.KurumId equals kl.KurumId
join kg in KurumGorevleriListesi on p.KurumdakiGorevId equals kg.GorevId
select new DetayPersoneller
{
PersonelId = p.PersonelId,
AdSoyad = p.AdSoyad,
CepTel = p.CepTel,
Email = p.Email,
KurumdakiGorevId = p.KurumdakiGorevId,
KurumId = p.KurumId,
KidemYili = p.KidemYili,
Sifre = p.Sifre,
Kurum = kl.Kurum,
Gorev = kg.Gorev
}).ToList();Bunu bu şekilde yaptığımızda
System.Collections.Generic.IEnumerable‘ does not contain a definition for ‘ToList’ and the best extension method overload ‘System.Linq.Enumerable.ToList (System.Collections.Generic.IEnumerable )’ has some invalid arguments Hatasını alacağız maalesef.
ToList() ifadesini .ToList
() şekline çevirsekte aynı hatayı alırız. Çözüm aslında gerçekten basit Kod:
ListKurumGorevleriListesi = veritabani_islemleri.SelectKurumGorevleri(-1);
ListKurumListesi = veritabani_islemleri.SelectKurumlar(-1);
ListPersonelListesi = veritabani_islemleri.SelectPersoneller(-1); List
veriler = (from p in PersonelListesi
join kl in KurumListesi on p.KurumId equals kl.KurumId
join kg in KurumGorevleriListesi on p.KurumdakiGorevId equals kg.GorevId
select new DetayPersoneller
{
PersonelId = p.PersonelId,
AdSoyad = p.AdSoyad,
CepTel = p.CepTel,
Email = p.Email,
KurumdakiGorevId = p.KurumdakiGorevId,
KurumId = p.KurumId,
KidemYili = p.KidemYili,
Sifre = p.Sifre,
Kurum = kl.Kurum,
Gorev = kg.Gorev
}).ToList();select new DetayPersoneller ifadesi işte bizim çözüm kaynağımız. DetayPersoneller ile oluşacak listemizin tipini baştan belirliyoruz.
-
YazarYazılar
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.