如果我在一个方法中使用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);
}
}
答案 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();
}
}
}