2

データベースへの接続に EF を使用しています。をDbContext取得するために使用する がありDbSet<MyDataModel>ます。を使用して、データをWPFObservableCollection<MyDataModel>の にバインドします。GridViewこれは、コレクションにデータを入力する方法です。

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

問題は、データベースが別のソース (完全に別のアプリケーション) から更新されObservableCollection、アイテムがデータベースに追加されたときに が検出されないことです。どうなるかわかりませんが、どうすればできるのかわかりませんか?データベースには多数のエントリ (>10k) が含まれているため、すべてのエントリを定期的に再ロードするのは避けたい..

私に何ができる?

編集: 私は少し不明確だったと思います(そして、どのようにObservableCollections機能するかはよくわかりません)が、ええ、私の主な質問はDbContextデータベースが更新されたときにどのように更新するかであることに気付きました. それ自体にはあまり関係がありませんObservableCollection

4

3 に答える 3

2

Observable Collectionは、アイテムが追加されたときにUIに通知します。それにバインドすると、インターフェースが正しく更新されます。

この動作をトリガーするには、引き続きObservableコレクションにアイテムを追加する必要があります。したがって、DataContextを更新する必要があります。

SQLサーバーからの更新を強制するには、この記事を確認してください

于 2013-01-28T10:44:23.457 に答える
2
于 2013-01-28T10:48:16.537 に答える
1

名前が示すように、監視可能なコレクションは監視可能ですが、それはanithingを監視しません。誰かがそこからアイテムを追加/削除したときに通知することが目的です。これを使用して、コレクション内の変更を自動的に反映するUIを使用できます。

于 2013-01-28T10:32:03.480 に答える