Employee情報を含むコレクションをクエリしようとしています。そのコレクションを照会すると、各オブジェクトに 2 つのフィールドがあるオブジェクトの列挙を返したいと思います。
- 名前
- マネージャー名
(すべてのマネージャーも従業員であることに注意してください!)
さて、ここに私が抱えている問題があります。select
内で aを実行すると、各オブジェクトで返されるフィールドselect
の値は次のとおりです。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
見ると、単一のアイテムを生成する列挙型であることがわかります。そして、単一のアイテムはマネージャーの名前を含む文字列です。だから、私は近いと思います。
質問:代わりに、各オブジェクトが 2 つの文字列フィールドを持つオブジェクトの列挙を返すようにクエリを変更するにはどうすればよいName
ですManagerName
か?