Collections.Generic.IEnumerable Hatası

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 önce Tolga tarafından güncellenmiştir.
1 yazı görüntüleniyor (toplam 1)
  • Yazar
    Yazılar
  • #12555
    Tolga
    İ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:
    List KurumGorevleriListesi = veritabani_islemleri.SelectKurumGorevleri(-1);
    List KurumListesi = veritabani_islemleri.SelectKurumlar(-1);
    List PersonelListesi = 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:
    List KurumGorevleriListesi = veritabani_islemleri.SelectKurumGorevleri(-1);
    List KurumListesi = veritabani_islemleri.SelectKurumlar(-1);
    List PersonelListesi = 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.

1 yazı görüntüleniyor (toplam 1)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.
Bana Ders Anlat © 2008-2022