Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4
Cevap
2219
Tıklama
0
Öne Çıkarma
[ÇÖZÜLDÜ] Net core include ile beraber where kullanımı
O
5 yıl (4469 mesaj)
Yarbay
Konu Sahibi

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ıyorumHata resmi : https://prnt.sc/um45y1Ben 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ış.
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;
        }

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





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

O
5 yıl (78 mesaj)
Çavuş

WHERE olan kısmı firstordefault öncesi kullansan.


Bu mesaja 1 cevap geldi.
O
5 yıl (4469 mesaj)
Yarbay
Konu Sahibi

Ö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 >


Bu mesajda bahsedilenler: @ontedi
T
5 yıl (2126 mesaj)
Binbaşı

where in devamını getirmelisin. replies.where(...).include ...


Bu mesaja 1 cevap geldi.
O
5 yıl (4469 mesaj)
Yarbay
Konu Sahibi

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ış.
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 >


Bu mesajda bahsedilenler: @TROJ
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.