Tôi có truy vấn LINQ nơi tôi đang tạo một số lớp có thuộc tính Gốc trên chúng. Tôi đang tìm một cách để đặt thuộc tính cha mẹ là lớp mà tôi vừa tạo. Lời giải thích của tôi hút; đây là mã của những gì tôi đang cố gắng làm.LINQ chọn lớp mới có tên
var query = from states in xml.Elements()
select new State
{
Children = from cities in states.Elements()
select new City()
{
ParentState = **???**;
}
};
Làm cách nào để đặt thuộc tính ParentState? Nếu tôi có thể làm điều gì đó như
select new State as newState
{
...
}
điều đó thật tuyệt, nhưng tôi không thể. Tôi biết tôi có thể làm điều này với một vòng lặp foreach, nhưng tôi muốn tìm hiểu làm thế nào, nếu có thể, để làm điều này với LINQ. Trợ giúp: (
EDIT: Tôi đã thử để x = new State {} nhưng điều đó không giúp được gì nhiều. Tôi hy vọng tôi có thể tham khảo x trong hàm tạo như thế này nhưng không hoạt động:
let x = new State
{
Children = from cities in states.Elements()
select new City{ ParentState = x }
}
select x;
Trong F #, có điều gì đó tương tự như thế này, nơi bạn có thể đơn giản nói cho phép rec x = ... và sau đó bạn có thể tham khảo biến bên trong câu lệnh gán, nhưng đây là C# chứ không phải F #.
Bé muốn các đối tượng Thành phố trẻ tham chiếu đối tượng Trạng thái gốc. Cách tiếp cận của bạn không hoàn thành mục tiêu này, vì Trạng thái bên ngoài và Trạng thái gốc không phải là cùng một đối tượng. –
Vâng, tôi thấy điều đó ngay bây giờ. Thú vị vấn đề thực sự :) – sTodorov