【问题标题】:Entity framework : The state value of a new object实体框架:新对象的状态值
【发布时间】:2014-11-30 00:19:42
【问题描述】:

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

【问题讨论】:

    标签: vb.net entity-framework


    【解决方案1】:

    来自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(); 
    }
    

    【讨论】:

    • 我想在这两条指令之后找到并使用 context.entry(Myobject).state :1)添加对象 2)修改它。更改尚未保存(未调用 Savechanges)。在这两个指令之后,我检查状态值并且是 Entitystate.modified。但我认为它应该是 EntityState.Added。 (因为我已经添加了新对象,但还没有保存,在保存这个新对象之前被修改了)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多