【问题标题】:saving an EF Entity after edit编辑后保存 EF 实体
【发布时间】:2012-04-24 06:43:22
【问题描述】:

我使用工作单元检索并绑定到一些 UI 控件的 EF 实体

public RowItem MyItem { get; set; }
using ( var ctx = new MyContext() )
    MyItem = ctx.MyEntity.Single( x =>  /// parms };


at a later time, the updates are saved on some user action

问题 - 我如何使用现有实体 MyItem 并保持简单

using ( var ctx = new MyContext() )
       MyItem.UpdateUsingContext(ctx);

【问题讨论】:

    标签: c# .net entity-framework data-binding


    【解决方案1】:

    嗯,在 EF 中保存一个对象很简单:

    context.SaveChanges();
    

    这会将所有更新/新建/删除的对象保存在context

    如果您的对象不是在 context 的这个特定实例中创建的,您应该在保存之前附加它们:

    context.Attach(entity);
    context.SaveChange();
    

    【讨论】:

      【解决方案2】:

      如果你需要创建一个新的数据上下文,你需要先附加你的对象,比如;

      using ( var ctx = new MyContext() )
      {
         ctx.Attach(entity);
         ctx.SaveChanges();
      }
      

      如果您使用相同的上下文(用于从数据库中获取实体),您可以简单地调用 savechanges。

      【讨论】:

        猜你喜欢
        • 2015-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多