例如
a = datacontext.customers.FirstOrDefaul();
b = datacontext.customers.Skip(1).FirstOrDefaul();
a.name="name1";
b.Name="name2";
当我调用datacontext.SubmitChanges()时,更新了两个对象。我不想要这个。
我只需要更新a
对象。怎么做?
修改
WPFWindow windowA=new WPFWINDOW()
windowA.DataContext=a;
windowA.Show();
WPFWindow windowB=new WPFWINDOW()
windowB.DataContext=b;
windowB.Show();
从窗口单击保存按钮时,保存相应的对象。
单击取消按钮时,相应的对象未保存
答案 0 :(得分:2)
您需要使用单独的DataContext。
答案 1 :(得分:0)
如果您不想将更改保存到b,那么为什么要指定b.name =“name2”。使用临时变量来存储“name2”。稍后,如果需要,可以将其分配给b.name
答案 2 :(得分:0)
我的理解是,DataContext的目的是封装一组要一起提交的更改。如果要将某些更改分开,请创建另一个DataContext实例。我相信,DataContexts旨在实现轻量级,并且可以快速创建和发布。在我创建的应用程序中,它大量使用LINQ to SQL,我为每个窗口创建一个单独的DataContext。不要在整个应用程序中使用共享数据上下文。它不像数据库连接。这就是数据库连接是一个单独的对象的原因。