0

Entity Framework を使用した単純な Windows フォーム アプリケーションがあり、この状況で立ち往生しています。

-ユーザーは MDIform 内でウィンドウフォーム (SearchForm) を開き、製品の詳細と実際の在庫数を表示します。

-ユーザーは MDIform 内で (SearchForm と並んで) 2 番目のウィンドウフォーム (POSForm) を開き、製品を販売した後、その製品の在庫が新しい数量に更新され、DB に保存されます。この時点で、他の開かれたウィンドウフォーム (SearchForm)表示されたデータを新しいデータで更新する必要があります。コンテキストの再読み込み、コンテキストの再インスタンス化、フォームの更新を試みていますが、フォームにはまだ同じデータが表示されます..メソッドを呼び出すと発生するイベントハンドラが SearchForm にあります。 POSForm から RefreshData() を実行し、データを更新しようとしましたが、何も変わっていないようです。

そのフォーム (SearchForm) を閉じてから再度開くと、データは正しく表示されます。

適切な更新方法がわかりません (context.Refresh(RefreshMode.StoreWins,entry) を使用しています)

4

1 に答える 1

0

EFの問題ではなく、画面の更新/データソースの更新の問題があると思います。コンテキストの内容を確実にダンプするデバッグ コードを記述します。

于 2012-10-05T16:13:18.953 に答える