是否可以使用EF导航属性作为显示成员?

时间:2015-08-22 14:12:31

标签: c# entity-framework listbox

我有一个实体Employee,其中包含EmployeeIDJob。我有另一个实体Personel,其IDNameEmployeeID是来自ID实体的Personel的外键。

在我的代码中,我可以这样做: string nameStr = Employee.Personel.Name使用Employee实体的导航属性。

我正在尝试在列表框中显示员工。我不能做(或者我不知道该怎么做)是使用nav属性作为列表框的显示成员,所以我得到一个很好的名字字符串而不是人员ID。

我试过这个,但它不起作用:

myListbox.Datasource = Employee.ToList();
myListbox.DisplayMember = "Personel.Name";

我正在尝试做什么?那是使用导航属性控件的DisplayMember(在这种情况下是一个列表框)?

干杯!

1 个答案:

答案 0 :(得分:1)

您可以将Employee类投影到匿名类型并将其传递给控件

var employees = EmployeeList.Select(e => new{e.Id, Name = e.Personel.Name});

myListbox.Datasource = employees;
myListbox.DisplayMember = "Name";