Sobes.tech
Middle

Entity Framework-də izləmə nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Entity Tracking (Varlıq İzləmə) — bu Entity Framework Core-da verilənlər bazasından yüklənmiş varlıq obyektlərində edilən dəyişiklikləri izləyən mexanizmdir. Kontekst hər yüklənmiş varlığın vəziyyəti haqqında məlumat saxlayır və dəyişiklikləri yadda saxlayarkən (DbContext.SaveChanges()) SQL sorğuları yarada bilər.

Əsas varlıq vəziyyətləri:

  • Added: Varlıq kontekstə əlavə olunub, amma hələ verilənlər bazasında mövcud deyil.
  • Unchanged: Varlıq verilənlər bazasından yüklənib və onun xüsusiyyətləri dəyişməyib.
  • Modified: Varlığın bəzi xüsusiyyətləri verilənlər bazasından yükləndikdən sonra dəyişib.
  • Deleted: Varlıq silinmək üçün işarələnib.
  • Detached: Varlıq kontekst tərəfindən izlənmir.

Əsasən, LINQ sorğuları ilə işləyərkən varlıqlar izlənir. Bu, Entity Framework-un hansı dəyişikliklərin saxlanmalı olduğunu avtomatik müəyyən etməsinə imkan verir.

Açıq şəkildə izləmə göstəricisi nümunəsi:

// İzlənən sorğu
var trackedUser = context.Users.FirstOrDefault(u => u.Id == 1);

// İzlənməyən sorğu
var untrackedUser = context.Users.AsNoTracking().FirstOrDefault(u => u.Id == 2);

AsNoTracking() istifadə etməklə izləməni deaktiv etmək, əgər verilənlər bazasında dəyişiklikləri saxlamağa ehtiyac yoxdursa, sorğuların performansını artıra bilər, çünki EF varlıqların vəziyyətini izləmək üçün resurs sərf etmir.