2012-11-27 14 views
51

Veritabanı içeriğimden yeni eklenen nesnelerin listesini vermem gerekiyor.ObjectStateManager özelliği db içeriğimde neden yok?

Bu amaç için ObjectStateManager kullanmam gerektiğini okudum. Sorun şu ki, veritabanı içeriğim ObjectStateManager özelliğine sahip değil.

Bağlam, nesnelere yeniden erişmek, eklemek ve güncelleştirmek için iyi çalışıyor.

Ben ne yapabilirim EF 5,0

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 

kullanıyorum?

+1

- Gördüğünüz gibi, 'ObjectStateManager' hala çalışıyor, ancak buna ihtiyacınız yok. 'DbContext' türetilmiş sınıflar ['ChangeTracker'] kullanabilir (http://msdn.microsoft.com/en-us/library/system.data.entity.dbcontext.changetracker (v = vs.103) .aspx) Bu bilgiyi almak için emlak. – hvd

cevap

92

bu deneyin:

var manager = ((IObjectContextAdapter)dbContext).ObjectContext.ObjectStateManager; 
+0

Bu işe yarıyor! :) – Kenci

+0

@Kenci olsa bir şey için atanmış olması gerekiyor Düzenleme için teşekkürler :) –

8

deneyin: "Bunun için ObjectStateManager kullanmak zorunda"

dbContext.Entry(entity).State = EntityState.Modified; 
+0

Tam olarak bir cevap değil ama bir problem çözme yardımcı oldu –

İlgili konular