public ActionResult StoryScene(int? nextPageNum) { var db = new TimGameDbContext(); if (nextPageNum == null) { nextPageNum = db.Pages.Min(x => x.Id); } var page = db.Pages.Find(nextPageNum); var model = new PageVM { BackgroundUrl = page.BackgroundUrl, NextPageId = page.NextPageId, NextPageButtonText = page.NextPageButtonText, CharactersOnPage = from c in page.CharactersOnPage select new CharactersOnPageVM { Id = c.Id, Name = c.Name, PositionX = c.PositionX, PositionY = c.PositionY, IsNPC = c.IsNPC }, Phrases = from c in page.CharactersOnPage from p in c.Phrases select new PhraseVM { Id = p.Id, EnglishText = p.EnglishText, ChineseText = p.ChineseText, Order = p.Order, CharacterId = c.Id, CharacterName = c.Name } }; return View(model); }