实体框架4:更新单个记录

时间:2012-01-26 22:31:24

标签: entity-framework-4

我有一个将模型“地址”作为参数的方法。

现在在这个方法中,我想用提供的地址“覆盖”我在数据库中的现有地址 - 就像在SQL中更新它一样。

我这样插入位:

            Context.Addresses.AddObject(adr);
            Context.SaveChanges();

如何进行更新?

我尝试过这样的事情:

   public void Update(Address adr)
   {
            Context.Addresses.Attach(adr);
            Context.SaveChanges();
   }

可悲的是,这不起作用......我也尝试了很多其他代码,但没有一个有效。

那么当我将修改记录的对象作为参数获取时,如何更新数据库中的现有记录?

谢谢

1 个答案:

答案 0 :(得分:2)

您需要通过调用ApplyCurrentValues

告诉EF该实体已更新
 public void Update(Address adr)
 {
        Context.Addresses.ApplyCurrentValues(adr);

        Context.SaveChanges();
 }
相关问题