【问题标题】:Can´t update database from WPF datagrid via Entity Framework无法通过实体框架从 WPF 数据网格更新数据库
【发布时间】:2013-08-17 02:35:41
【问题描述】:

我有一个简单的 C# WPF 应用程序,它通过实体框架模型将数据从数据库获取到 WPF 数据网格中。从数据库到 WPF DataGrid 的方向一切正常。

我的问题是从数据网格到数据库的相反方向。我想在每次单元格更新后更新数据库,所以我在CellEditEnding 事件中工作。

下面的代码没有抛出任何异常,但没有将 WPF 数据网格单元格更改保存到数据库中(DGISPRSDataView 是我的 WPF 数据网格)

请你告诉我,问题出在哪里?我错过了什么?如何将数据网格更改连接到数据模型和数据库?或者是否有任何来自服务器的回调 - 如 Silverlight 案例 - (实体模型 + DomainContext 类)

非常感谢!

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());
   }
}

【问题讨论】:

    标签: c# wpf entity-framework wpfdatagrid ado.net-entity-data-model


    【解决方案1】:

    尝试将您的数据加载到上下文中的其中一个 DBSet。 一个上下文应该有一个你想要维护的每个类的 DBSet,并且网格应该有一个作为它的数据源

    例如加载时

            var dset = Db.Tasks;
            DbSet<Task> qry = dset;
            qry.Load();
            bindingSource1.DataSource  =dset.Local.ToBindingList();
    

    保存时

            bindingSource1.EndEdit();
            Db.SaveChanges();
    

    【讨论】:

      猜你喜欢
      • 2016-07-06
      • 1970-01-01
      • 2014-04-19
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      • 2022-09-26
      • 2011-04-28
      • 2011-04-26
      相关资源
      最近更新 更多