Що таке відстеження змін Entity Framework?

0 Comments

Відстеження змін відстежує зміни під час додавання нових записів до колекції сутностей, зміни чи видалення існуючих сутностей. Тоді всі зміни зберігаються на рівні DbContext. Ці зміни доріжки втрачаються, якщо їх не зберегти до знищення об’єкта DbContext.

Відстеження змін EF Core працює найкраще, коли той самий екземпляр DbContext використовується як для запиту сутностей, так і для їх оновлення шляхом виклику SaveChanges. Це тому, що EF Core автоматично відстежує стан запитуваних сутностей, а потім виявляє будь-які зміни, внесені до цих сутностей, коли викликається SaveChanges.

ChangeTracker є інструмент, який відстежує зміни, внесені до сутностей, поки вони існують в екземплярі DbContext. Відстежуючи стан цих об’єктів, ChangeTracker допомагає полегшити процес збереження змін у базі даних.

За замовчуванням EF Core створює знімок значень властивостей кожної сутності, коли вона вперше відстежується екземпляром DbContext. Потім значення, збережені в цьому знімку, порівнюються з поточними значеннями сутності, щоб визначити, які значення властивостей змінилися.

Відстеження змін є легке рішення, яке забезпечує ефективний механізм відстеження змін для програм. Як правило, щоб дозволити програмам запитувати зміни даних у базі даних і отримувати доступ до інформації, пов’язаної зі змінами, розробникам програм доводилося впроваджувати спеціальні механізми відстеження змін.

ChangeTracker є вбудована функція Entity Framework Core, яка відстежує зміни, внесені до сутностей у поточному контексті. Він відстежує стан об’єктів і відстежує зміни, такі як додавання, модифікація та видалення.