我有一个使用ObjectListView可视化数据库信息的小程序。目前我正在尝试添加项目并不断获得The operation cannot be completed because the DbContext has been disposed.
突出显示以下olvEntityTypes.AddObject(et);
行的内容。
代码:
string typeName = tbTypeName.Text;
string desc = tbDesc.Text;
EntityTypes et;
using (FCERTSModelContainer db = new FCERTSModelContainer())
{
// Create and save new row for the EntityTypes table.
et = new EntityTypes { EntityTypeName = typeName, Description = desc };
db.EntityTypes.Add(et);
db.SaveChanges();
olvEntityTypes.AddObject(et);
}
- 我怀疑这
SaveChanges()
也可能会关闭上下文,但是在保存更改之前尝试添加对象仍然会引发相同的错误。 - 放在街区
olvEntityTypes.AddObject(et);
之外using
也是失败的。 - 如果我使用以下内容查询数据库,则不会引发任何错误;
代码:
var query = from ent in db.EntityTypes
orderby ent.EntityTypeName
select ent;
olvEntityTypes.SetObjects(query);
所以我现在有点不知所措,为什么这会引发错误以及如何解决它。