// GET: Movie/Edit/5 public ActionResult EditMovie(int id) { db = new DbContextIMDB(); db.Configuration.ProxyCreationEnabled = false; ViewBag.ProducerId = new SelectList(db.Producers, "ProducerId", "ProducerId"); var data = db.Movies .Where(movie => movie.Id == id) .Select(movie => new { ViewModel = new MovieEditViewModel { Id = movie.Id, Name = movie.Name, ReleaseDate = movie.ReleaseDate, Photo = movie.Photo }, ActorIds = movie.Actors.Select(a => a.Id) }) .SingleOrDefault(); if (data == null) { return(HttpNotFound()); } data.ViewModel.Actors = db.Actors .Select(a => new AssignedActor { ActorId = a.Id, Name = a.Name }) .ToList(); foreach (var actor in data.ViewModel.Actors) { actor.Assigned = data.ActorIds.Contains(actor.ActorId); } return(View(data.ViewModel)); }