我正在尝试查询包含员工信息的集合。当我查询该集合时,我想返回一个对象枚举,其中每个对象都有两个字段:
- 姓名
- 经理姓名
(请注意,每个经理也是员工!)
现在,这是我遇到的问题。当我select
在 a 中执行 aselect
时,每个对象返回的字段值ManagerName
是:
System.Data.Common.Internal.Materialization.CompensatingCollection<string>
这是查询:
var query =
from e in db.Employees
select new
{
Name = e.Name,
ManagerName =
from em2 in db.Employees
where (em2.EmployeeID == e.ManagerID)
select em2.Name
};
具体来说,当我查看 的值时ManagerName
,我发现它是一个产生单个项目的枚举。并且单个项目是一个包含经理名称的字符串。所以,我想我很接近了。
问题:如何更改我的查询,以便它返回一个对象枚举,其中每个对象仅具有两个字符串字段,Name
并且ManagerName
?