AsNoTracking() sorusuna yanıt olarak ; Entity'ler üzerindeki işlemler sürekli izlenir. Bir Entity'de değişiklik, güncelleme yapıldıysa SaveChanges() metodu ile bu değişiklikler veritabanına yansıtılır. Bu şekilde entity üzerindeki değişiklik kalıcı hale getirilir.Fakat biz herzaman entity'ler üzerinde değişiklik yapmayız. Çoğu zaman sadece okumaya dayalı işlemler yaparız. Varsayılan olarak Enitity Framework üzerinde yaptığımız işlemlerde bu "takip" aktif durumdadır. Çoğu zamanda okuma işlemi yaptığımız için bu performans kaybına yol açar.İşte bu durumda izleme yapmadan, sadece okunabilir işlemler için AsNoTracking kullanılır. AsNoTracking kullanıldığında Entity üzerinde değişiklik var mı yok mu Context tarafından izlemenmez.
"AsNoTracking" metodu, Entity Framework gibi ORM (Object-Relational Mapping) araçlarında kullanılan bir yöntemdir. Bu yöntem, sorgulanan verilerin takip edilmesini (tracking) devre dışı bırakır. Yani, sorgulanan verilerin bellekte bir nesne olarak takip edilmesini engeller. "AsNoTracking" yöntemi, genellikle aşağıdaki durumlarda kullanılır: -Bir sorgunun sonucunda dönen verilerin sadece okunması gerekiyorsa ve değiştirilmeyecekse. -Sorgulanan veri kümesinin büyük olduğu durumlarda performans iyileştirmesi sağlamak için. -Veri tutarlılığı veya iş parçacığı sorunlarını azaltmak için, özellikle çoklu iş parçacığı uygulamalarında.
Çok yararlı ve güzel bir ders olmuş teşekkürler hocam. Yeni bir Design Pattern öğrenirken ilk başta teorik kısmı biraz öğrenme aşamasında zorlayabiliyor, mesela ben N-Tier Architecture öğrenirken zorlanmıştım ama pratik yaparak her componentin ne işe yaradığını daha iyi kavradıkça, mimariyi oturtmuş ve o kadar da zor olmadığını öğrenmiştim. Bu derste zorlanan arkadaşlara tavsiyem sadece bu video ile kalmayın, bu mimariyi pratik yapıp kullanın böylece daha iyi kavrayacaksınız.
EntityFramework yapısı gereği varsayılan olarak tüm entity modellerini ChangeTracker mekanizması sayesinde takip etmektedir bazı durumlarda ilgili modelin changetracker ile takip edilmemesini isteyebilir örneğin readonly durumlarında yani bir veri üzerinde herhangi bir değişiklik yapmayacaksak mekanizmanın bu entity takip etmesine gerek yoktur bu durumlarda AsNoTracking methodu ile bu durumun önüne geçer bellek optimizasyonu konusunda pozitif gelişme sağlamış oluruz.
AsNoTracking ----> EntityFramework ile bir select işlemi yaptığınızda, gelen data içeriğini güncelleyip SaveChanges yaparsak değişiklikler veritabanına yansır. Bu işlemi her zaman istemiyor olabilirsiniz. Bu durumda AsNoTracking ifadesi yardımımıza koşuyor. Bu ifade ile yaptığımız entity sorgusu sadece okumalıktır. Üzerinde değişiklik yapıp SaveChanges yaptığımızda veritabanında hiçbir değişiklik olmaz. Bu da bize minimum bellek kullanımı ve optimum performans sağlayacaktır.
AsNoTracking : Hocam normalde bu işlemi yapmasak veritabanı üzerinde nesneler izlenebiliyor , fakat bu işlemi yaptıgımız da nesneler izlenmiyor yani daha açık bir anlamda yapacagımız değişiklikler veritabanına yansımıyor boyle sadece okuma işleminde optimize çalışıyor.
@@MurattYucedag yok hocam bitirmedim. Liseden beri sizi izleyerek yazılım öğreniyorum şu an üniversiteyi bitirip bir firmada işe başladım. başka biri anlatınca anlamıyorum ondan sordum :D
Herkeze Başarılar Dilerim
AsNoTracking() sorusuna yanıt olarak ; Entity'ler üzerindeki işlemler sürekli izlenir. Bir Entity'de değişiklik, güncelleme yapıldıysa SaveChanges() metodu ile bu değişiklikler veritabanına yansıtılır. Bu şekilde entity üzerindeki değişiklik kalıcı hale getirilir.Fakat biz herzaman entity'ler üzerinde değişiklik yapmayız. Çoğu zaman sadece okumaya dayalı işlemler yaparız. Varsayılan olarak Enitity Framework üzerinde yaptığımız işlemlerde bu "takip" aktif durumdadır. Çoğu zamanda okuma işlemi yaptığımız için bu performans kaybına yol açar.İşte bu durumda izleme yapmadan, sadece okunabilir işlemler için AsNoTracking kullanılır. AsNoTracking kullanıldığında Entity üzerinde değişiklik var mı yok mu Context tarafından izlemenmez.
"AsNoTracking" metodu, Entity Framework gibi ORM (Object-Relational Mapping) araçlarında kullanılan bir yöntemdir. Bu yöntem, sorgulanan verilerin takip edilmesini (tracking) devre dışı bırakır. Yani, sorgulanan verilerin bellekte bir nesne olarak takip edilmesini engeller.
"AsNoTracking" yöntemi, genellikle aşağıdaki durumlarda kullanılır:
-Bir sorgunun sonucunda dönen verilerin sadece okunması gerekiyorsa ve değiştirilmeyecekse.
-Sorgulanan veri kümesinin büyük olduğu durumlarda performans iyileştirmesi sağlamak için.
-Veri tutarlılığı veya iş parçacığı sorunlarını azaltmak için, özellikle çoklu iş parçacığı uygulamalarında.
AsNoTracking sadece ekrana bir veriyi yansıtıcaksak kullandığımız bir method . Adı üstünden sorgulama sonuçlarını izlememeyi sağlayan bir metoddur.
Elinize sağlık güzel gidiyoruz. Bilgiler pekişip gelişiyor sayenizde.
Çok yararlı ve güzel bir ders olmuş teşekkürler hocam.
Yeni bir Design Pattern öğrenirken ilk başta teorik kısmı biraz öğrenme aşamasında zorlayabiliyor, mesela ben N-Tier Architecture öğrenirken zorlanmıştım ama pratik yaparak her componentin ne işe yaradığını daha iyi kavradıkça, mimariyi oturtmuş ve o kadar da zor olmadığını öğrenmiştim. Bu derste zorlanan arkadaşlara tavsiyem sadece bu video ile kalmayın, bu mimariyi pratik yapıp kullanın böylece daha iyi kavrayacaksınız.
Hocam selam.Çok iyi içerik.Teşekkürler🙏👍
Selamlar 👋
İçerik Mükemmel.
Teşekürler.
Çok teşekkür ederim
Hocam ellerinize saglik👍
EntityFramework yapısı gereği varsayılan olarak tüm entity modellerini ChangeTracker mekanizması sayesinde takip etmektedir bazı durumlarda ilgili modelin changetracker ile takip edilmemesini isteyebilir örneğin readonly durumlarında yani bir veri üzerinde herhangi bir değişiklik yapmayacaksak mekanizmanın bu entity takip etmesine gerek yoktur bu durumlarda AsNoTracking methodu ile bu durumun önüne geçer bellek optimizasyonu konusunda pozitif gelişme sağlamış oluruz.
AsNoTracking ----> EntityFramework ile bir select işlemi yaptığınızda, gelen data içeriğini güncelleyip SaveChanges yaparsak değişiklikler veritabanına yansır. Bu işlemi her zaman istemiyor olabilirsiniz. Bu durumda AsNoTracking ifadesi yardımımıza koşuyor. Bu ifade ile yaptığımız entity sorgusu sadece okumalıktır. Üzerinde değişiklik yapıp SaveChanges yaptığımızda veritabanında hiçbir değişiklik olmaz. Bu da bize minimum bellek kullanımı ve optimum performans sağlayacaktır.
💻🥰
AsNoTracking : Hocam normalde bu işlemi yapmasak veritabanı üzerinde nesneler izlenebiliyor , fakat bu işlemi yaptıgımız da nesneler izlenmiyor yani daha açık bir anlamda yapacagımız değişiklikler veritabanına yansımıyor boyle sadece okuma işleminde optimize çalışıyor.
Hocam ben anlamadim. O zaman mimariye hec bir qerek qalmiyor 😢
hocam 7.0 geliyor projeyi revize etmeyi düşünüyor musunuz?
Şu anda düşünmüyorum ben bu eğitime başladığımda 6.0 henüz çok yeni çıkmıştı, sen bütün dersleri tamamladın mı :)
@@MurattYucedag yok hocam bitirmedim. Liseden beri sizi izleyerek yazılım öğreniyorum şu an üniversiteyi bitirip bir firmada işe başladım. başka biri anlatınca anlamıyorum ondan sordum :D
hocam c# ikinci yüz serisi için sql öğrenmek gerekmi cevap verirseniz beni çok büyük bir detten kurtarırsınız hocam İYİ GÜNLER
Orada bir bütün yok parçalar verildi ihtiyaca göre izlenecek videolardan oluşuyor
@@MurattYucedag saolyn HOCAM iyi gunler tekrardan