实体框架:新对象的状态值

时间:2014-10-05 15:56:36

标签: vb.net entity-framework

我正在使用vb.net和实体框架。 我添加了一个新对象(Myobject),在调用savechanges之前,我尝试修改它。 之后,我检查context.entry(Myobject).state,结果是EntityState.Modified。 但这是一项新纪录。为什么国家不是Entitystate.Added? 谢谢!

1 个答案:

答案 0 :(得分: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(); 
}