使用Grid使用Entity Framework保存,更新,删除数据

时间:2013-03-04 15:01:25

标签: c# entity-framework

你好我对EF很新,并且在EF上尝试了一些例子。通常我在使用一个对象时没有任何问题,但真正让我感到惊讶的是,当你使用网格时,你如何使用它?来自devexpress的XtraGrid?

通常我使用绑定源将网格的数据源设置为上下文:

     private void Form1_Load(object sender, EventArgs e)
    {

        using (var context = new BeygirDataModeliContainer())
        {
            beygirBindingSource.DataSource = context.BeygirSet;
        }


    }

如果更改网格并将事件设置为:

    using (var context = new BeygirDataModeliContainer())
        {

            context.SaveChanges();
        }

        gridControl1.RefreshDataSource();

它根本不会更改或更新或实际对数据库执行任何操作。 这些例子可能已经关闭,但有一个教程可以帮助我继续使用EF与网格和模型集合吗?

问候。

1 个答案:

答案 0 :(得分:0)

让您的实体上下文“活着”。每当它关闭时using阻止Dispose阻止。

using (var context = new BeygirDataModeliContainer())
{
    beygirBindingSource.DataSource = context.BeygirSet;
}//context.Dispose() is call here

你应该尝试这样的事情。

BeygirDataModeliContainer context; 
private void Form1_Load(object sender, EventArgs e)
{
    context = new BeygirDataModeliContainer()        
    beygirBindingSource.DataSource = context.BeygirSet; 
}
private void ApplyButton(object sender, EventArgs e)
{
    context.SaveChanges();
}

private void CancelButton(object sender, EventArgs e)
{
    context.Dispose();  
    context = new BeygirDataModeliContainer()
    beygirBindingSource.DataSource = context.BeygirSet;
    gridControl1.RefreshDataSource();
}