public static void DetachedEntities() { const int actorId = 1; var name = MoviesContext.Instance.Actors.Where(a => a.ActorId == actorId).Select(a => $"{a.FirstName} {a.LastName}").First(); Console.WriteLine($"Original Name:\t{name}"); var actorModel = new ActorModel { ActorId = actorId, FirstName = "Luke", LastName = "Skywalker" }; var actor = actorModel.Copy <ActorModel, Actor>(); MoviesContext.Instance.Actors.Attach(actor); MoviesContext.Instance.Entry(actor).State = EntityState.Modified; MoviesContext.Instance.SaveChanges(); name = MoviesContext.Instance.Actors.Where(a => a.ActorId == actorId).Select(a => $"{a.FirstName} {a.LastName}").First(); Console.WriteLine($"Updated Name:\t{name}"); actor.FirstName = "Mark"; actor.LastName = "Hammil"; MoviesContext.Instance.SaveChanges(); name = MoviesContext.Instance.Actors.Where(a => a.ActorId == actorId).Select(a => $"{a.FirstName} {a.LastName}").First(); Console.WriteLine($"Reverted Name:\t{name}"); Console.WriteLine(); const int filmId = 1; var year = MoviesContext.Instance.Films.Where(f => f.FilmId == filmId).Select(f => f.ReleaseYear).First(); Console.WriteLine($"Original Release Year:\t{year}"); var model = new FilmUpdateModel { FilmId = filmId, Description = "As Steve Rogers struggles to embrace his role in the modern world, he teams up with a fellow Avenger and S.H.I.E.L.D agent, Black Widow, to battle a new threat from history: an assassin known as the Winter Soldier.", Title = "Captain America: The Winter Soldier", RatingId = 3, ReleaseYear = 2013 }; var film = model.Copy <FilmUpdateModel, Film>(); MoviesContext.Instance.Films.Attach(film); MoviesContext.Instance.Entry(film).State = EntityState.Modified; MoviesContext.Instance.SaveChanges(); year = MoviesContext.Instance.Films.Where(f => f.FilmId == filmId).Select(f => f.ReleaseYear).First(); Console.WriteLine($"Updated Release Year:\t{year}"); film.ReleaseYear = 2014; MoviesContext.Instance.SaveChanges(); year = MoviesContext.Instance.Films.Where(f => f.FilmId == filmId).Select(f => f.ReleaseYear).First(); Console.WriteLine($"Reverted Release Year:\t{year}"); }