可以´;t通过实体框架从WPF数据网格更新数据库
本文关键字:数据 WPF 数据网 网格 数据库 更新 框架 实体 #180 可以 | 更新日期: 2023-09-27 18:27:39
我有一个简单的C#WPF应用程序,它通过实体框架模型将数据从数据库中获取到WPF数据网格中。从数据库到WPFDataGrid,一切都很顺利。
我的问题是从数据网格到数据库的相反方向。我想在每次更新单元格后更新数据库,所以我在CellEditEnding
事件中工作。
下面的代码没有抛出任何异常,但没有将WPF数据网格单元格更改保存到数据库中(DGISPRSDataView
是我的WPF数据栅格)
请你告诉我,问题出在哪里?我错过了什么?如何将数据网格更改连接到数据模型和数据库?或者是否有来自服务器的回调(如Silverlight中的情况)(实体模型+域上下文类)
非常感谢!
private void DGISPRSDataView_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
try
{
ReviewsEntities dataEntity = new RreviewsEntities(); //DataContext
this.DGISPRSDataView.DataContext = dataEntity.Form_output_test;
dataEntity.SaveChanges();
MessageBox.Show("Update succesfully end");
}
catch (Exception err)
{
MessageBox.Show(err.ToString());
}
}
尝试将数据加载到上下文中的一个DBSet中。上下文应该为要维护的每个类都有一个DBSet,网格应该有其中一个作为数据源
例如加载时
var dset = Db.Tasks;
DbSet<Task> qry = dset;
qry.Load();
bindingSource1.DataSource =dset.Local.ToBindingList();
保存时
bindingSource1.EndEdit();
Db.SaveChanges();