请,我已经在这个挑战上停留了几个小时。不知道我在哪里弄错了。
我有两个实体; service_catalog和服务。我在服务上有一个外键,其中引用了service_catalog。因此,想法是,service_catalog具有许多服务。
我试图根据从组合框传递的service_catalog名称获取所有服务的列表。但是我在serviceList变量上得到了一个空豁免。但是,当我使用消息框进行测试时,它给了我可以使用的ID。但是我得到了错误。
这是我的代码。将不胜感激。
//Get catalog name
private service_catalog GetName(string sCatalogname)
{
using (Model db = new Model())
{
return db.service_catalog.FirstOrDefault(s => s.name == Catalogname);
}
}
//Load the services based on the service_catalog selected
private void comboBoxServices_SelectedIndexChanged(object sender, EventArgs e)
{
service_catalog data = GetName(comboBoxServices.Text);
List<service> serviceList;
if (data != null)
{
serviceList = dbHelper.services.Where(s =>s.service_catalog_id == data.service_catalog_id).ToList();
dataGridViewServices.DataSource = serviceList;
}
}
引发的错误:{“对象引用未设置为对象的实例。”} 这行:
serviceList = dbHelper.services.Where(s => s.service_catalog_id == data.service_catalog_id).ToList();
感谢您的帮助。
编辑
从OP的评论中
serviceList对象计数为0,而数据对象显示为
“ {System.Data.Entity.DynamicProxies.service_catalog_BF9EC14C144A9AC84B6F0CB43564996B60E8EA5EA9C2B7D58C0BBE5AE20FC83B}”