Bu sınıf belirli bir entity e ilişkin verilere erişmemizi sağlar.
DBEntityEntry sayesinde EntityState, Current, Entity propertilerinin veritabanındaki değerlerine erişebiliriz ve değiştirebiliriz.
Aşağıdaki örnekte bu verilere nasıl ulaşacağımız gösterilmiştir.
using (var context = new AdventureWorks2014Entities())
{
//Id si 1 olan ürünü alıyoruz.
var urun = context.Products.Find(1);
//ürünün adını değiştiriyoruz
urun.Name = "Degisik İsim";
//urun nesnesinin DbEntityEntry nesnesini alıyoruz.
var entry = context.Entry(urun);
//entitynin tip adı
Console.WriteLine("Entity Tip Adı: {0}", entry.Entity.GetType().FullName);
//Entity Durumu
Console.WriteLine("Entity State: {0}", entry.State);
Console.WriteLine("********Property Değerleri********");
foreach (var propertyName in entry.CurrentValues.PropertyNames)
{
Console.WriteLine("Property Adı: {0}", propertyName);
//Veritabanındaki Değeri
var orgVal = entry.OriginalValues[propertyName];
Console.WriteLine(" Veritabanındaki Değeri: {0}", orgVal);
//Contextteki değeri
var curVal = entry.CurrentValues[propertyName];
Console.WriteLine(" Contextteki Değeri: {0}", curVal);
}
}
Console.ReadKey();
Ömer Faruk Dinçer