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