如何选择实体中的集合并将其转换为SelectList

时间:2015-08-02 18:51:17

标签: asp.net-mvc entity-framework

我的模型如下:

public class Department
{
    // just keeping it relevant
    public List<Job> Jobs { get; set; }
}
public class Job
{
    public int ID { get; set; }
    public string Name { get; set; }
}

我想选择属于特定部门的工作并将其转换为选择列表,以便我可以将它们传递给View。

我在控制器中所做的是(是的,我用id硬编码id为1):

ViewBag.JobID = new SelectList( db.Departments.Where(x => x.ID == 1).Select(m => m.Jobs, "ID","Name");


但是我收到以下错误,左列表中没有包含名称&#39; ID&#39;

的属性

1 个答案:

答案 0 :(得分:1)

作业返回List<Job>,当然没有名为ID的属性。如果要返回List,则必须使用SelectMany(x =&gt; x.Jobs)。

其他一些建议:

  • 请勿使用List,而是使用ICollection(reason
  • 将您的导航属性设为虚拟(reason