Item should be a child of Section.
public class Menu
{
public int Id { get; set; }
public string Name { get; set; }
public List<MenuSection> Sections { get; set; }
}
public class Section
{
public int Id { get; set; }
public string Name { get; set; }
public List<SectionItem> Items { get; set; }
}
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
}
UPDATE
To access/add items to a Menu (there are multiple ways)
// adding by index
menuList[0].Sections[0].Items.Add(new Item() { .. init .. });
// keep a reference to a section
Section dinner = new Section() { .. init .. };
dinner.Items.Add(new Item() { .. init ..});
dinner.Items.Add(new Item() { .. init ..});
menu.Sections.Add(dinner);