Sobes.tech
Junior — Middle

Entity Framework чӣ гуна муайян мекунад, ки хусусияти муайяни объект тағир ёфтааст?

sobes.tech AI

Ҷавоб аз AI

Entity Framework тағйироти хусусиятҳои объектҳоро тавассути механизми номидашудаи Change Tracking пайгирӣ мекунад. Вақте ки объект аз базаи додаҳо бор карда мешавад, EF ҳолати аслӣашро нигоҳ медорад. Ҳангоми фаро гирифтани усули SaveChanges(), EF ҳолати ҳозираи объектро бо ҳолати аслӣ муқоиса мекунад. Агар арзиши хусусият тағйир ёфта бошад, EF онро ҳамчун тағйирёфта нишон медиҳад ва дархости SQL-ро барои навсозӣ мебарорад.

Барои синфҳое, ки интерфейси INotifyPropertyChanged-ро иҷро мекунанд, EF метавонад тағйиротҳоро фавран пайгирӣ кунад. Дар акси ҳол, муқоиса ҳангоми нигоҳдории маълумот анҷом меёбад.

Масалан:

var user = context.Users.Find(1);
user.Name = "Номи нав"; // EF хусусияти Name-ро ҳамчун тағйирёфта нишон медиҳад
context.SaveChanges(); // танҳо майдонҳои тағйирёфта дар база навсозӣ мешаванд