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

Is it possible to use a EF navigation property as displaymember?

我有一个实体 Employee,它由 EmployeeIDJob 组成。我有另一个实体 Personel,它有 IDNameEmployeeID 是来自 Personel 实体的 ID 的外键。

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

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

我已经试过了,但没用:

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

我想做的事情可行吗?那就是使用导航 属性 控件的 DisplayMember(在本例中为列表框)?

干杯!

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

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

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