我正在编写一个使用 EF 与 SQL Express 通信的 C#.Net windows 应用程序。我的应用程序中有一个联系人表。为了编辑联系人,我通过 ShowDialogue() 方法调用了一个新的窗口窗体并使用了 ApplyCurrentValue 方法。在此表单中,如果我获取联系人列表(使用 db.Contacts.ToList() 方法),可以看到更改,但是当我关闭表单并想要刷新主表单中存在的 gridview 时,我看不到除非我重新启动整个应用程序,否则更改。
这是显示新表单的代码:
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() 但没用