Tôi đang cố gắng làm phẳng các đối tượng lồng nhau như thế này:
public class Book
{
public string Name { get; set; }
public IList<Chapter> Chapters { get; set; }
}
public class Chapter
{
public string Name { get; set; }
public IList<Page> Pages { get; set; }
}
public class Page
{
public string Name { get; set; }
}
Hãy để tôi làm một ví dụ. Đây là dữ liệu tôi có
Book: Pro Linq
{
Chapter 1: Hello Linq
{
Page 1,
Page 2,
Page 3
},
Chapter 2: C# Language enhancements
{
Page 4
},
}
Kết quả tôi đang tìm là danh sách phẳng sau:
"Pro Linq", "Hello Linq", "Page 1"
"Pro Linq", "Hello Linq", "Page 2"
"Pro Linq", "Hello Linq", "Page 3"
"Pro Linq", "C# Language enhancements", "Page 4"
Làm thế nào tôi có thể thực hiện điều này? Tôi có thể làm điều đó với một lựa chọn mới nhưng tôi đã được thông báo rằng một SelectMany là đủ.