我有一个LINQ的datacontext和的ObservableCollection拿着记录了公司的表中的SQLWPF LINQ的DataContext刷新不在SQL数据库表
改变当前记录和当前的datacontext取得了新的记录读取新记录( DataDC)当我做了
DataDC.SubmitChanges();
但是,如果我有另外一个窗口设有独立的DataContext相同的表,如果我修改当前存在于两个DataContexts用于记录的字段(即公司名称修改反映)这些变化当我做了
DataDC.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, Companys);
但是如果其他窗口/ DataContext的创建一个新的记录,或者如果我使用SQL Explorer创建一个新的纪录,这些新的记录不会在DataContext.Company表即使经过
DataDC.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, Companys);
显示我试过不同的模式。
那么为什么没有.Refresh(....)加载新记录,但会反映对存在的记录所做的更改?
我错过了什么吗?
我看不到一种方法来刷新DC中全部来自SQL表的新数据?
是的我一直在想,我需要这样做,我发现有两个datacontext到同一张表是不是一个好主意,我会这样做。 然而,这并不能解决数据添加或删除时的问题,购买数据库的另一个用户。 由于SINGLE datacontext中的缓存数据仍不会显示外部添加的记录。 (和删除,他们抛出一个“excess无法刷新指定的对象。该对象不再存在于数据库中”) – PrimeTSS 2010-01-02 00:57:31