Expressin oluşturuken bu tarz bir "Expression expression" sorgu daha basit değil mi ? .Bununla içine her türlü where sorgusunu yazabiliyoruz . Listeleme içinde iyi expression kodları var . Hatta hepsini beraber yapabilecek , aynı bir joinli ,orderbylı sql sorgusu yazıyorumuş gibi Expression methotlarını oluşturup , isteğinize göre çalıştırabilirsiniz.
En başta bahsettiğim gibi Expression'lar özel yapılar. Benim buradaki amacım oradaki expression'ları kullanmadan extension metodlar yazmaktı ki daha anlaşılır olsun :)
Cok faydali ve aydinlatici bir icerik olmus hocam elinize saglik. Not olarak, IQueryable da IEnumerable da "deferred execution" mantigiyla calisiyor. Yani her ikisinde de Where icerisinde yazilan predicate'ler birlestirilerek calistiriliyor enumeration esnasinda.
Hocam eline emeğine sağlık öncelikle :) Benim merak ettiğim asıl konu relational sorgular. Bir dönem en çok üzerinde zaman harcamak zorunda olduğum konu olmuştu bu konu. Hem join lerini yapıp hem join türlerine göre sorgu çalıştırmak konusundaki "best practice" ler sanırım en fazla ihtiyaç duyulup ulaşılamayan konudur bence :)
FirstOrDefault senin FirstOrDefault'un diye düşünüyorum. Çünkü normalde liste boş değilse sıfır indexi, boş ise var ise objenin constructor değerini yani default(TSource)'u döner. Temel olarak şunu demek istedin sanırım; "ToList -> Where yaparsan performans kaybı olur" çok haklısın. Genel olarak Db işlemlerinde özellikle en son olarak ToList demek lazım.
Merhabalar, Evet ToList veya bunun gibi Generation işlemlerini gerçekleştiren metodların kullanımına dikkat edilmeli demek istedim. Ayrıca bir class için default value null olacağı için objenin constructor değeri değil de null olarak geriye dönecektir FirstOrDefault metodu default(TSource) veya default şeklinde kullanıldığında.
2 hafta kadar önce aktifleştirdiler hesabımı :) Biraz test yaptım gerçtekten muazzam. Bir ara Discord toplantımızda testini hep birlikte yapıcaz canlı yayında
hocam ben bi masaüstü uygulama yazıyorum dbfirst veritabanı bağlantılı bi şekilde entityframework diye bir seri izliyorum orda linq sorgularını filan gördüm kendi projeme uyarlamaya çalıştım mantığını sorguyla istediğim şeyin ilk adımına ulaştım ikinci adımında mesela bu sorguya if yada for gibi yapılarla kullanabilir miyim kullanırsam nasıl olmalı linq sorgusunda mesela from x in model diyince model tablosundaki alanlara x ile ulaşabiliyoruz ya bunu if sorgusunda yazarken nasıl ulaşabilirim istediğim alana mesela kafamda bu tür sorular var bunları gidermek için hangi kavramları bilmeli hangi dersleri izlemeliyim acaba anlatabildiysem yardımcı olabilir misiniz ?
Linq kullanıyorsak aslında fonksiyonel programlamayı kullanmaya başlamışız demektir. Ancak nedense bu konuda bilinçli bir bilinçsizlik olduğunu düşünüyorum...
@@TechBuddyTR bence yeterince geciktik, bunlar üzerinde düşünülmeden geçirilen hergün boşa gidiyor. Neden bize FP anlatılmadı da, mesleki anlamda kurgulanması ve uygulanması çok daha zor olan OOP anlatıldı. Neden FP uzmanı yetiştirmiyoruz? Neden neden neden?