Sobes.tech
Junior — Middle

Entity Framework, belirli bir nesnenin hangi özelliğinin değiştirildiğini nasıl belirler?

sobes.tech yapay zeka

AI'dan gelen yanıt

Entity Framework, nesnelerin özelliklerindeki değişiklikleri Change Tracking (Değişiklik Takibi) mekanizmasıyla izler. Bir nesne veritabanından yüklendiğinde, EF onun orijinal durumunu saklar. SaveChanges() yöntemi çağrıldığında, EF nesnenin şu anki durumu ile saklanan orijinal durumu karşılaştırır. Bir özelliğin değeri değişmişse, EF bu özelliği değiştirilmiş olarak işaretler ve güncelleme için uygun SQL sorgusunu oluşturur.

INotifyPropertyChanged arayüzünü uygulayan sınıflar için, EF değişiklikleri gerçekleştiği anda izleyebilir. Aksi takdirde, karşılaştırma kaydetme sırasında yapılır.

Örnek:

var user = context.Users.Find(1);
user.Name = "Yeni isim"; // EF, Name özelliğini değiştirilmiş olarak işaretler
context.SaveChanges(); // sadece değiştirilen alanları veritabanında günceller