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

Yorum Yaz

Yorumlarınız denetimden geçtikten sonra yayınlanmaktadır...