EntityFramework ObjectContext 刷新问题

发布于 2025-01-03 19:51:46 字数 666 浏览 0 评论 0 原文

我有 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;
        }
    }

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

I have DataContext.Refresh Method:

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

And observable collection:

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

If i update records outside context i see only changed records but can't see inserted and removed. Why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

獨角戲 2025-01-10 19:51:46

因为Refresh不会查找新记录。它获取您已有的记录并用当前值更新它们。它也可能不处理已删除的记录,特别是如果您使用将您的状态视为更重要的 ClientWins 策略。

Because Refresh doesn't look for new records. It takes records you already have and updates them with current values. It also probably doesn't handle deleted records especially if you use ClientWins strategy which takes your state as more important.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文