【发布时间】:2014-11-30 00:19:42
【问题描述】:
我正在使用 vb.net 和实体框架。 我添加了一个新对象(Myobject),在调用 savechanges 之前,我尝试修改它。 之后我检查 context.entry(Myobject).state,结果是 EntityState.Modified。 但这是一个新纪录。为什么状态不是 Entitystate.Added ? 谢谢!
【问题讨论】:
我正在使用 vb.net 和实体框架。 我添加了一个新对象(Myobject),在调用 savechanges 之前,我尝试修改它。 之后我检查 context.entry(Myobject).state,结果是 EntityState.Modified。 但这是一个新纪录。为什么状态不是 Entitystate.Added ? 谢谢!
【问题讨论】:
已添加: 对象是新的,已添加到对象上下文中,并且尚未调用 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();
}
【讨论】: