Entity State kısaca Entity’imizin o an ki durumunu bildiren bir propertydir. Entity üzerinde yapılan çeşitli işlemler sonrası durumu değişmektedir.
Entity’mizin durumunu State property si ile görebilirsiniz.
[csharp]ContextAdi.Entry(EntityAdi).State[/csharp]
Added
Entity mizin Context’ e eklendiği anda oluşan durumdur. Entity üzerinde varolmayan yeni bir kayıt oluşmuştur, yani insert işlemi yapılmıştır.
Insert işlemi henüz veritabanına yansıtılmamıştır, SaveChanges işlemi ile veritabanına da yansıyacaktır.
SaveChanges işlemi sonrasında Entity’nin state durumu UnChanged olarak değişecektir.
Unchanged
Context üzerinden alınan Entity’ de bir değişiklik yapılmadığı durumdur.
[divider type=”dashed”]Deleted
İlgili Entity’nin Context üzerinden silme işlemi gerçekleşmiştir.
Delete işlemi veritabanı üstünde henüz yapılmamıştır, sadece Context üzerinde silinme işlemi yapılmıştır.
SaveChanges işlemi yapıldığında ilgili kayıt veritabanından da silinecektir ve Entity State’i Detached olarak değişecektir.
Modified
Entity üzerinde değişiklik yapıldığını gösterir.
SaveChanges işlemiyle birlikte veritabanına da değişiklik(ler) yansıyacaktır.
SaveChanges sonrası entity state’i UnChanged olarak değişecektir.
Detached
Entity bir context tarafından izlenmemektedir. Yani Entity ile Context arasında aktif bir bağlantı yoktur.