使用网格使用实体框架保存,更新,删除数据
本文关键字:更新 数据 删除 框架 网格 实体 保存 | 更新日期: 2023-09-27 18:02:02
你好,我是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与网格和模型集合?
问候。
保持你的实体Context "alive"。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();
}