我收到以下错误,当我想遍历一个列表C#实体框架ObjectContext的实例已经被布置
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>();
}
}
http://stackoverflow.com/questions/40729137/why-are- foreign-keys-in-ef-code-first-marked-as-virtual/40729675#40729675看看这个有点理论上为什么发生这种情况 –