2014-10-05 50 views
0

我正在使用vb.net和實體框架。 我添加一個新的對象(Myobject),並在savechanges被調用之前,我嘗試修改它。 之後,我檢查了context.entry(Myobject).state,結果是EntityState.Modified。 但這是一個新紀錄。爲什麼國家不是Entitystate.Added? 謝謝!實體框架:新對象的狀態值

回答

0

documentation

補充:的對象是新的,已被添加到對象上下文,並SaveChanges方法還沒有被調用。保存更改後,對象狀態將更改爲「未更改」。添加狀態中的對象在ObjectStateEntry中沒有原始值。

可以使用EntityState.Added這樣

using (var context = new BloggingContext()) 
{ 
    var blog = new Blog { Name = "ADO.NET Blog" }; 
    context.Entry(blog).State = EntityState.Added; 
    context.SaveChanges(); 
} 
+0

我想找到並使用context.entry(MYOBJECT).STATE這兩個指令後:1)增加目標2)修改它。所做的更改尚未保存(未調用Savechanges)。在這兩個instruciotn之後,我檢查狀態值並且是Entitystate.modified。但我的事情應該是EntityState.Added。 (因爲我添加了新對象,但尚未保存並在保存此新對象之前進行了修改)。 – alex 2014-10-05 16:50:14