C# 关于上下文生命周期的文章。为什么不?你甚至不使用任何保存代码,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什么不能?你甚至不使用任何保存代码,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什

C# 关于上下文生命周期的文章。为什么不?你甚至不使用任何保存代码,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什么不能?你甚至不使用任何保存代码,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什,c#,winforms,entity-framework,datagrid,C#,Winforms,Entity Framework,Datagrid,关于上下文生命周期的文章。为什么不?你甚至不使用任何保存代码,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什么不能?你甚至不使用任何保存代码,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什么不能?你甚至不使用任何保存代码,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什么不能?您甚至不使用任何保存代码,那么您如何更新?好的,但我甚至不能在datagrid单元格中更改任何内容。它应该是新绑定列表(C



关于上下文生命周期的文章。

为什么不?你甚至不使用任何
保存代码
,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什么不能?你甚至不使用任何
保存代码
,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什么不能?你甚至不使用任何
保存代码
,那么你怎么能更新呢?好吧,但我甚至不能在datagrid单元格中更改任何内容为什么不能?您甚至不使用任何
保存代码
,那么您如何更新?好的,但我甚至不能在datagrid单元格中更改任何内容。它应该是
新绑定列表(CustomerQuery.ToList())
谢谢!您能再告诉我一件事吗?我应该在哪里添加saveChanges()来记住更改?@szpic要保存更改,您需要保留上下文。我会在一分钟内更新答案,告诉你怎么做。@Alireza谢谢!使用此代码段,我可以修改数据,但不能添加新行。On Id为identity(1,1),任何添加的行都将被忽略,并且不会保存在数据库中。@szpic这是因为上下文不会被通知添加的行。您可以在web上搜索以找到解决方案,因为有许多方法可以实现这一点。一种方法是搜索网格以查找Id为0的行。另一种方法是处理UserAddDrow事件并保留添加行的索引。更好的方法是使用BindingSource。这里有一些教程。应该是
newbindingslist(customersQuery.ToList())
谢谢!您能再告诉我一件事吗?我应该在哪里添加saveChanges()来记住更改?@szpic要保存更改,您需要保留上下文。我会在一分钟内更新答案,告诉你怎么做。@Alireza谢谢!使用此代码段,我可以修改数据,但不能添加新行。On Id为identity(1,1),任何添加的行都将被忽略,并且不会保存在数据库中。@szpic这是因为上下文不会被通知添加的行。您可以在web上搜索以找到解决方案,因为有许多方法可以实现这一点。一种方法是搜索网格以查找Id为0的行。另一种方法是处理UserAddDrow事件并保留添加行的索引。更好的方法是使用BindingSource。这里有一些教程。应该是
newbindingslist(customersQuery.ToList())
谢谢!您能再告诉我一件事吗?我应该在哪里添加saveChanges()来记住更改?@szpic要保存更改,您需要保留上下文。我会在一分钟内更新答案,告诉你怎么做。@Alireza谢谢!使用此代码段,我可以修改数据,但不能添加新行。On Id为identity(1,1),任何添加的行都将被忽略,并且不会保存在数据库中。@szpic这是因为上下文不会被通知添加的行。您可以在web上搜索以找到解决方案,因为有许多方法可以实现这一点。一种方法是搜索网格以查找Id为0的行。另一种方法是处理UserAddDrow事件并保留添加行的索引。更好的方法是使用BindingSource。这里有一些教程。应该是
newbindingslist(customersQuery.ToList())
谢谢!您能再告诉我一件事吗?我应该在哪里添加saveChanges()来记住更改?@szpic要保存更改,您需要保留上下文。我会在一分钟内更新答案,告诉你怎么做。@Alireza谢谢!使用此代码段,我可以修改数据,但不能添加新行。On Id为identity(1,1),任何添加的行都将被忽略,并且不会保存在数据库中。@szpic这是因为上下文不会被通知添加的行。您可以在web上搜索以找到解决方案,因为有许多方法可以实现这一点。一种方法是搜索网格以查找Id为0的行。另一种方法是处理UserAddDrow事件并保留添加行的索引。更好的方法是使用BindingSource。这里有一些教程。
    using (var context = new OrdersDataModelContainer())
        {
            var customersQuery = from o in context.Payments
                                 select o;
            dataGridView1.DataSource = customersQuery;
        }
    using (var context = new OrdersDataModelContainer())
        {
            var customersQuery = from o in context.Payments
                                 select o;
            dataGridView1.DataSource = customersQuery.ToList();
        }
using (var context = new OrdersDataModelContainer())
{
    var customersQuery = from o in context.Payments
                         select o;
    dataGridView1.DataSource = new BindingList<Payments>(customersQuery.ToList());
}
public partial class Form1 : Form
{
     private MyDBContext context = new MyDBContext(); // whatever your context name is

     private void btnLoadData_Click(object sender, EventArgs e) // when you want to load the data
     {
        var customersQuery = from o in context.Payments
                             select o;
        dataGridView1.DataSource = new BindingList<Payments>(customersQuery.ToList());
     }

     private void btnSaveChanges_Click(object sender, EventArgs e) // when you want to save
     {  
       context.SaveChanges();
     }
}