【发布时间】:2017-02-01 15:41:14
【问题描述】:
当我想遍历列表时出现以下错误
The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
我用以下代码打开表单
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
int id = int.Parse(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
Aufenthalt a;
using (var db = new GastContext())
{
a = db.Aufenthalte.First(x => x.AufenthaltID == id);
}
Aufenthaltsform frm = new Aufenthaltsform(currentGast, a);
frm.ShowDialog();
}
这是我的表单的构造函数,在这里我的应用程序抛出上述错误
public Aufenthaltsform(Gast g, Aufenthalt a)
{
InitializeComponent();
MessageBox.Show(a.Mitreisende.Count.ToString());
}
那是 Aufenthalt 对象
public class Aufenthalt
{
public int AufenthaltID { get; set; }
public DateTime Anreisedatum { get; set; }
public DateTime Abreisedatum { get; set; }
public virtual List<Mitreisender> Mitreisende { get; set; }
public virtual Gast Gast { get; set; }
public Aufenthalt()
{
Mitreisende = new List<Mitreisender>();
}
}
【问题讨论】:
-
stackoverflow.com/questions/40729137/… 看看这个以了解为什么会发生这种情况
标签: c# entity-framework