【发布时间】:2016-03-22 20:23:36
【问题描述】:
我在使组合框正确级联时遇到了一些问题。我首先使用带有实体框架代码的 WinForms,我正在努力让第二个组合框正常工作。我的类别模型如下所示:
public class Category
{
[Key]
public int ID { get; set; }
[Required]
public string CategoryName { get; set; }
}
我的子类别如下所示:
public class SubCategory
{
[Key]
public int ID { get; set; }
public virtual Category Category { get; set; }
[Required]
public string SubCategoryName { get; set; }
}
在类别组合框的 SelectedIndexChanged 事件中,我尝试了以下代码:
cmboSubCategory.DataSource = ( from sc in db.SubCategories.AsEnumerable()
where sc.Category == int.Parse( cmboCategory.SelectedValue.ToString() )
select sc ).ToList();
但是编译器告诉我
Operator '==' cannot be applied to operands of type 'Category' and 'int'
在数据库中查找 SubCategories 表中的 FK 字段名为 Category_ID 但是当我尝试使用此字段名称时,编译器会抱怨该字段不存在。如何使用模型中定义的虚拟字段名称进行查找?我做错了什么?
【问题讨论】:
标签: c# winforms entity-framework linq combobox