编辑后保存EF实体

时间:2012-04-24 06:43:22

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

我使用工作单元检索并绑定到某些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);

2 个答案:

答案 0 :(得分:3)

好吧,在EF中保存对象很简单:

context.SaveChanges();

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

如果您的对象未在context的特定实例中创建,则应在保存之前附加它们:

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

答案 1 :(得分:0)

如果您需要创建一个新的datacontext,您需要首先附加您的对象,例如;

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

如果要重新生成用于从数据库中获取实体的相同上下文,则可以直接调用savechanges。