Here is the model code:
public class Lection { [Key] public int LectionId { get; set; } public string Name { get; set; } public string SubText { get; set; } public ICollection<Chapter> Chapters { get; set; } public string OtherAutors { get; set; } public ICollection<Lecturer> Owners { get; set; } public ICollection<Link> Links { get; set; } public Lection() { Chapters = new List<Chapter>(); Owners = new List<Lecturer>(); Links = new List<Link>(); } } public class Chapter { [Key] public int ChapterId { get; set; } public string Name { get; set; } public string SubText { get; set; } public string Text { get; set; } public int LectionId { get; set; } [ForeignKey("LectionId")] public Lection Lection { get; set; } } This shows that the database is normally filled with test data. 
But while this code:
@foreach (var c in ViewBag.Lection.Chapters) { <h2 class="ChapterTitle"><a name="@c.Name">@c.Name</a></h2> <div class="ChapterSub">@c.SubText</div> <p>@c.Text</p> } does not display anything. Well, the controller code just in case:
if ((ViewBag.Lection = db.Lections.Find(id)) == null) return HttpNotFound(); return View(); Tell me who understands this, for there is simply no power.