【问题标题】:Entity Framework Core, discard and update a datagridviewEntity Framework Core,丢弃和更新数据网格视图
【发布时间】:2018-10-10 15:59:02
【问题描述】:

我有一个 Winforms 测试应用程序,我正在使用它来尝试了解 Entity Framework Core。

我有一个绑定到我的表的 datagridview,我可以编辑字段并调用 context.SaveChanges() - 工作正常。

如果我在不同行上编辑了多个单元格,删除并添加了一行,然后改变主意不想保存怎么办?如何丢弃更改并使用原始数据刷新 datagridview?

我打电话给EntityFrameworkQueryableExtensions.Load(context.entity),然后是dataGridView1.Refresh(),但我的表格随着我的变化保持不变。

dataGridView1.DataSource = context.enity.Local.ToBindingList();

【问题讨论】:

    标签: c# winforms entity-framework-core


    【解决方案1】:

    要从数据库加载数据,你必须再次实例化上下文:

    context = new SampleDbContext(options);
    

    然后您可以以任何可能的方式重新加载您的网格。我认为最简单的方法是再次分配它:

    dataGridView.DataSource = context.MyDbSet;
    

    还有一件事(以防你想了解更多); EF 并非设计用于长期存在的上下文。使用 EF 的最佳方式是在完成后处理 DbContext 实例:

    using(var ctx = new SampleDbContext()){
        instances = ctx.MyDbSet....
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-09
    • 2021-10-11
    • 2017-08-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    相关资源
    最近更新 更多