是否可以使用 EF 导航 属性 作为显示成员?
Is it possible to use a EF navigation property as displaymember?
我有一个实体 Employee
,它由 EmployeeID
和 Job
组成。我有另一个实体 Personel
,它有 ID
和 Name
。 EmployeeID
是来自 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";
我有一个实体 Employee
,它由 EmployeeID
和 Job
组成。我有另一个实体 Personel
,它有 ID
和 Name
。 EmployeeID
是来自 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";