EntityFramework ObjectContext刷新问题

时间:2012-02-08 13:34:58

标签: entity-framework-4 observablecollection

我有DataContext.Refresh方法:

  public void RefreshDataSource()
    {
        _entities.Refresh(RefreshMode.ClientWins,Departments);
    }

可观察的收藏:

  public ObservableCollection<Department> Departments
    {
        get
        {
            if (_departments == null && _entities != null)
            {
                _entities.Departments.Include("Drivers").ToArray();
                _departments = new EntityObservableCollection<Department>(_entities.Departments);
            }
            return _departments;
        }
    }

如果我在上下文之外更新记录,我只看到已更改的记录,但看不到插入和删除的记录。为什么呢?

1 个答案:

答案 0 :(得分:0)

因为Refresh没有查找新记录。它会记录您已有的记录并使用当前值更新它们。它也可能无法处理已删除的记录,特别是如果您使用ClientWins策略,这会使您的州更重要。