Şimdi Ara

[ÇÖZÜLDÜ] Net core include ile beraber where kullanımı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
1.829
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar şöyle bir kodum var : https://prnt.sc/um451w bu haliyle problemsiz çalışıyor.


    Fakat koduma where eklediğimde şu hale getirdiğimde https://prnt.sc/um45j2 yani comment ve replylerden confirmation == true olanları getirmesini istediğimde şöyle bir hata alıyorum


    Hata resmi : https://prnt.sc/um45y1


    Ben bu sorunu nasıl çözerim ?



    ÇÖZÜLDÜ


    Problem efcore sürümünden kaynaklıymış dediğim şekil yazmak için yeni preview sürüm olan ef core 5 varmış bu sürümde yeni eklemişler böyle include içinde where yazmayı preview oldugundan daha kullanmadım onu doğru bulmadım.


    böyle yazınca çözüldü sorun benim gibi düşük ef core 3.1 sürümlerinde bu tarz yazılmalıymış.



    Kod

    Yığını:
    public Blog GetBlogWithCategoryTagsAndCommentsWithReplies(int id)         {             var blog = _context.Blogs                        .Where(blog => blog.Id == id)                        .Include(blog => blog.Category)                        .Include(blog => blog.BlogTags)                        .ThenInclude(blogtag => blogtag.Tag)                        .Include(blog => blog.Comments)                        .ThenInclude(comment => comment.User)                        .Include(blog => blog.Comments)                        .ThenInclude(comment => comment.Replies)                        .ThenInclude(reply => reply.User)                        .FirstOrDefault();             blog.Comments = blog.Comments.Where(comment => comment.Confirmation == true).ToList();             foreach (var comment in blog.Comments)             {                 comment.Replies = comment.Replies.Where(reply => reply.Confirmation == true).ToList();             }             return blog;         }



    < Bu mesaj bu kişi tarafından değiştirildi ORGANIKHOSAF -- 23 Eylül 2020; 18:10:14 >







  • WHERE olan kısmı firstordefault öncesi kullansan.

  • ontedi kullanıcısına yanıt

    Öylede blogun commentlerine ulaşılmıyor hocam.




    < Bu mesaj bu kişi tarafından değiştirildi ORGANIKHOSAF -- 23 Eylül 2020; 13:4:13 >
  • where in devamını getirmelisin.


    replies.where(...).include ...

  • TROJ T kullanıcısına yanıt

    Onuda denedim hocam problem efcore sürümünden kaynaklıymış dediğim şekil yazmak için yeni preview sürüm olan ef core 5 varmış bu sürümde yeni eklemişler böyle include içinde where yazmayı preview oldugundan daha kullanmadım onu doğru bulmadım.


    böyle yazınca çözüldü sorun benim gibi düşük ef core 3.1 sürümlerinde bu tarz yazılmalıymış.



    Kod

    Yığını:
    public Blog GetBlogWithCategoryTagsAndCommentsWithReplies(int id)         {             var blog = _context.Blogs                        .Where(blog => blog.Id == id)                        .Include(blog => blog.Category)                        .Include(blog => blog.BlogTags)                        .ThenInclude(blogtag => blogtag.Tag)                        .Include(blog => blog.Comments)                        .ThenInclude(comment => comment.User)                        .Include(blog => blog.Comments)                        .ThenInclude(comment => comment.Replies)                        .ThenInclude(reply => reply.User)                        .FirstOrDefault();             blog.Comments = blog.Comments.Where(comment => comment.Confirmation == true).ToList();             foreach (var comment in blog.Comments)             {                 comment.Replies = comment.Replies.Where(reply => reply.Confirmation == true).ToList();             }             return blog;         }



    < Bu mesaj bu kişi tarafından değiştirildi ORGANIKHOSAF -- 23 Eylül 2020; 16:58:45 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.