EF ETMENİZ birden fazla ve iç içe geçmiş varlıkları vardır | Netgez.com
SORU
2 NİSAN 2013, Salı


EF ETMENİZ birden fazla ve iç içe geçmiş varlıkları vardır

Tamam, ben tri-tesviye varlıklar aşağıdaki hiyerarşi ile: Ders ->- ^Modülü . Bölüm

Burada özgün EF ETMENİZ deyimi:

Course course = db.Courses
                .Include(i => i.Modules.Select(s => s.Chapters))
                .Single(x => x.Id == id); 

Şimdi, başka bir varlık ile ilişkili olan Laboratuar aradı eklemek istiyorum.

Nasıl Lab varlık vardır?

Aşağıdaki denedim ama işe yaramadı:

Course course = db.Courses
                .Include(i => i.Modules.Select(s => s.Chapters) && i.Lab)
                .Single(x => x.Id == id); 

2. Varlık da dahil olmak üzere herhangi bir fikir?

Tavsiye veya bilgi herhangi bir parça son derece mutluluk duyacağız. Teşekkürler!

CEVAP
2 NİSAN 2013, Salı


Include baÅŸka bir yerde denedin:

Course course = db.Courses
                .Include(i => i.Modules.Select(s => s.Chapters))
                .Include(i => i.Lab)
                .Single(x => x.Id == id);

Çözüm Include bir boolean operatörü almaz çünkü başarısız olur

Include(i => i.Modules.Select(s => s.Chapters) &&          i.Lab)
                           ^^^                  ^             ^ 
                          list           bool operator    other list

Güncelleme Daha fazlasını öğrenmek için, LinqPad yükleme ve örneklerine bak. Seri ve Lambda tanımak için en hızlı yol olduğunu düşünüyorum.

Bir başlangıç olarak Select Include arasındaki farkı bir Select ile bu kararnegeri dönmek için (aka projeksiyon. Bu bir Vardırİstekli Yükleniyorişlevi, diğer tablolardan veri eklemek istediğiniz Varlık Çerçevesi söyler.

Sözdizimi dize de olabilir Vardır. Bu gibi:

           db.Courses
            .Include("Module.Chapter")
            .Include("Lab")
            .Single(x => x.Id == id);

Ama LinqPad örnekleri de bu daha iyi açıklıyor.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • LaKe Lightroom Tutorials

    LaKe Lightro

    22 Temmuz 2014
  • snookie77

    snookie77

    2 Mart 2006