2
我有一個小程序,使用ObjectListView可視化數據庫信息。目前我正在嘗試添加項目並繼續獲取The operation cannot be completed because the DbContext has been disposed.
這是突出顯示olvEntityTypes.AddObject(et);
下面的一行。實體框架DbContext得到處置
代碼:
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);
所以我在一個小的損失的現在,爲什麼這是投擲的錯誤,以及如何解決它。
它只是一個ObjectListView。除了映射列之外,我沒有觸及它,這些都是通過GUI /設計器完成的。我不知道爲什麼它甚至需要用於AddObject的DbContext,但不用於SetObject? – Trent