SQL Expressとの通信にEFを使用してC#.NetWindowsアプリケーションを作成しています。アプリケーションに連絡先テーブルがあります。連絡先を編集するために、ShowDialogue()メソッドで新しいWindowsフォームを呼び出し、ApplyCurrentValueメソッドを使用しました。このフォームでは、連絡先のリストを取得すると(db.Contacts.ToList()メソッドを使用)、変更を確認できますが、フォームを閉じてメインフォームに存在するグリッドビューを更新すると、表示されません。アプリケーション全体を再起動しない限り、変更されます。
新しいフォームを表示するためのコードは次のとおりです。
NewContactForm contact = new NewContactForm();
contact.TopLevel = true;
contact.ShowInTaskbar = false;
contact.ShowDialog();
RefreshForm();
FillGridView();
contactToEditオブジェクトのプロパティを変更しましたが、変更を保存したいと思います。それで:
public void UpdateContact(Contact contactToEdit)
{
db.Contacts.ApplyCurrentValues(contactToEdit);
db.SaveChanges();
}
ここで、FillGridView()にあるこのコードを使用して連絡先のリストを表示したいと思います。
db.Contacts.ToList();
私はいくつかのコードが欠けていますか?私もdb.AcceptAllChanges()を使用しましたが、役に立たない