gpt4 book ai didi

c# - 当项目直接添加到数据库时,ObservableCollection 不会更新

转载 作者:行者123 更新时间:2023-12-02 05:16:29 25 4
gpt4 key购买 nike

我正在使用 EF 连接到我的数据库。我有一个 DbContext我用它来获得 DbSet<MyDataModel> .我使用 ObservableCollection<MyDataModel>将数据绑定(bind)到 GridView在 WPF 中。这就是我填充集合的方式:

ObservableCollection<MyDataModel> myCollection = new ObservableCollection<MyDataModel>(dataContect.MyDataModels);

问题是我的数据库是从另一个来源(完全是另一个应用程序)更新的,并且 ObservableCollection不检测何时将项目添加到数据库。我不知道它会怎样,但我不知道我该怎么做?数据库包含很多条目(> 10k)所以我不想定期重新加载所有条目..

我能做什么?

编辑:我想我有点不清楚(也不确定 ObservableCollections 是如何工作的),但是,是的,我现在意识到我的主要问题是如何刷新 DbContext当数据库更新时。它与 ObservableCollection 并没有太大关系。本身。

最佳答案

似乎最根本的问题是您需要知道您的应用程序需要知道的某些更改。

如果您对第二个应用程序有任何控制权,那么您可以从中发布一条消息,让您的应用程序知道它需要重新加载(或者甚至可以自己发布更改)。

如果您无法控制其他应用程序,则需要自行检测这些应用程序。你可以使用类似 SqlDependency 的东西,尽管这不适用于客户端应用程序。您需要一个中央服务来执行监控,然后发布更改通知。

我当然可能完全错了,EF 中可能内置了一些东西来通知更改。

关于c# - 当项目直接添加到数据库时,ObservableCollection 不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14559983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com