Tôi đang cố truy vấn bộ sưu tập có chứa thông tin Nhân viên. Khi tôi truy vấn bộ sưu tập mà tôi muốn trả lại một điều tra của các đối tượng trong đó mỗi đối tượng có hai lĩnh vực: (! Lưu ý rằng tất cả các giám đốc cũng là một nhân viên)LINQ Chọn trong một Chọn
- Tên
- ManagerName
Bây giờ, đây là vấn đề tôi đang gặp phải. Khi tôi làm một select
trong một select
, giá trị của lĩnh vực ManagerName
được trả về trên từng đối tượng là:
System.Data.Common.Internal.Materialization.CompensatingCollection<string>
Dưới đây là các truy vấn:
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
};
Cụ thể, khi tôi nhìn vào giá trị của ManagerName
, tôi thấy rằng nó là một liệt kê sản lượng một mục duy nhất. Và rằng mục duy nhất là một chuỗi có chứa tên của người quản lý. Vì vậy, tôi nghĩ rằng tôi gần gũi.
Câu hỏi: Làm cách nào để thay đổi truy vấn để thay vào đó trả về một đối tượng trong đó mỗi đối tượng chỉ có hai trường chuỗi, Name
và ManagerName
?
Bạn muốn kết quả nào và bạn không có kết quả gì w? Bây giờ bạn không có một bộ sưu tập các chuỗi trong biến 'query'? – FSou1
Bây giờ tôi có: obj.Name = "MyName"; obj.ManagerName = System.Data.Common.Internal.Materialization.CompensatingCollection và chỉ bên trong mà đối tượng nó có "MyManagerName" Tôi muốn: obj.Name = "Myname"; obj.ManagerName = "MyManagerName"; –
Và bạn muốn làm gì? – FSou1