リストボックスがあり、このリストボックスから ListofKBrands1 という名前の項目を選択すると、次のエラー メッセージが表示されます。
ObjectContext インスタンスは破棄されており、接続を必要とする操作には使用できなくなりました。
コード ビハインドでは、このエラーの代わりに:
if (co.Company != null)
私のコード:
private void ListofKBrands1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
RSPDbContext c = new RSPDbContext();
if (ListofKBrands1.SelectedItem != null)
{
ListBoxItem item = ListofKBrands1.SelectedItem as ListBoxItem;
KBrand co = item.Tag as KBrand;
if (ListofKBrands1.SelectedItem != null)
txtNewKBrand.Text = co.Name;
else
txtNewKBrand.Text = "";
int count = 0;
if (co.Company != null)
{
foreach (string a in cbCompany.Items)
{
if (a == co.Company.Name)
cbCompany.SelectedIndex = count;
count++;
}
}
else
cbCompany.SelectedIndex = 0;
}
}
エラー前:
私のKBrand.cs:
public class KBrand {
[Key]
public int Id { get; set; }
public String Name { get; set; }
public virtual Company Company { get; set; }
public override string ToString() {
return Name;
}
}
company.cs:
public class Company
{
[Key]
public int Id { get; set; }
public String Name { get; set; }
public override string ToString() {
return Name;
}
}
選択した KBrand の会社が null の場合、このエラーは表示されません。しかし、選択した KBrand の会社が null でない場合、このエラーが発生します。このエラーを修正するにはどうすればよいですか? 前もって感謝します。