实体框架上的 WPF 绑定
我有 MS SQL Server 数据库,其中有一张表 - Peoples。从这些数据库生成实体框架数据模型。 在 WPF 应用程序中,我有 ListBox 和 ItemSource = DataModel.Entities.Peoples,以及两个按钮 - 在数据库中添加和删除人员。 添加按钮:
DataModel.Entities.AddPeople(new People("test"));
DataModel.Entities.SaveChanges();
并删除:
DataModel.Entities.Remove((People)listBox1.SelectedItem);
DataModel.Entities.SaveChanges();
当我单击删除按钮时 - 从数据库中删除相应的人员行并刷新 listBox1。但是,当我单击“添加”按钮时 - 在数据库中添加人员(请参阅 MS SQL 企业管理器),但列表框不刷新。
如何在添加时刷新列表框?我猜我忘记在 DataModel 中设置任何选项?
I have MS SQL Server database with one table - Peoples. From these database generated Entity Framework Data model.
In WPF application I have ListBox with ItemSource = DataModel.Entities.Peoples, and two buttons - add and remove People in database.
Add button:
DataModel.Entities.AddPeople(new People("test"));
DataModel.Entities.SaveChanges();
And removing:
DataModel.Entities.Remove((People)listBox1.SelectedItem);
DataModel.Entities.SaveChanges();
When I click remove button - corresponding People row removing from databases and listBox1 refreshing. But when I click add button - People added in database (see in MS SQL Enterprise Manager), but listbox does not refreshing.
How to refresh listBox on adding? Guess I forgot to set any option in DataModel?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
除非
DataModel.Entities.Peoples
是ObservableCollection
,否则它不会意识到更改。我建议您使用 MVVM 模式,它可以完美解决该问题。
Unless
DataModel.Entities.Peoples
is anObservableCollection
, it won't be aware of changes.I recommend you use the MVVM pattern for this, which solves that problem perfectly.