2011-03-27 25 views
4

将EF4 CTP5迁移到RC1后,我注意到ObjectContext不再可以通过DbContext访问。这意味着我无法访问ChangeObjectState方法。EF4 - ChangeObjectState不再可访问RC

class DataContext : DbContext 
{ 
    public DataContext() 
    { 
    } 

    public DataContext(DbCompiledModel dbModel) 
     : base(dbModel) 
    { 
    } 

    public DbSet<MyClass> MyClasses { get; set; } 

    public void ChangeObjectState<T>(T entity, EntityState entityState) 
    { 
     // this is no longer working.. where is ObjectContext? 
     ObjectContext.ChangeObjectState(entity, entityState); 
    } 
} 

有没有人有任何想法如何在RC1访问方法?

谢谢。

回答

7

您不需要访问ObjectContext来更改对象状态。使用这个:

this.Entry<T>(entity).State = entityState;