Linq to SQL - 可以在不同的DataContext实例上保持更改

时间:2017-06-30 12:12:24

标签: c# linq-to-sql

如果我在一个方法中使用Linq to SQL从数据库中检索一个对象,使用DataContext的一个实例,该实例在退出该方法时关闭,我可以使用不同的方法和不同的DataContext编辑该对象并进行更改在数据库中生效?

即。会有类似下面的工作吗?

public void Foo()
{
  using (var db = new DataContext())
  {
    Bar a = this.GetBar();
    if (a != null)
    {
      a.Property1 = true;
      db.SubmitChanges();
    }
  }
}

private Bar GetBar(string val)
{
  using (var db = new DataContext())
  {
    return db.FirstOrDefault(x => x.Property2 == val); 
  }
}

1 个答案:

答案 0 :(得分:0)

应该有某种Attach方法

类似的东西:

public void Foo()
{
  using (var db = new DataContext())
  {
    Bar a = this.GetBar();
    if (a != null)
    {
      db.Bars.Attach(a);
      a.Property1 = true;
      db.SubmitChanges();
    }
  }
}