Witam,

Mam problem z edytowaniem wpisów w bazie danych. Mój kod:

public ActionResult Edit(int id)
        {
            using (var db = new MainDatabaseEntities())
            {
                var data = db.ANIME.Where(s => s.ID_AN == id).Select(c => new { ID_AN = c.ID_AN, TITLE_OR = c.TITLE_OR, TITLE_EN = c.TITLE_EN, GENRES = c.GENRES}).ToList().Select(s => new
                {
                    ViewModel = new ANIME
                    {
                        ID_AN = s.ID_AN,
                        TITLE_OR = s.TITLE_OR,
                        TITLE_EN = s.TITLE_EN
                    },
                    GENREID = s.GENRES.Select(c => c.ID_GE)
                }).SingleOrDefault();

                if (data == null)
                    return HttpNotFound();

                data.ViewModel.GENRES = db.GENRES.Select(c => new { ID_GE = c.ID_GE, GENRE = c.GENRE}).ToList().Select(c => new GENRES
                    {
                        ID_GE = c.ID_GE,
                        GENRE = c.GENRE
                    }).ToList();

                foreach (var c in data.ViewModel.GENRES)
                    c.isSelected = data.GENREID.Contains(c.ID_GE);
                return View(data.ViewModel);
            }
        }
        [HttpPost]
        public ActionResult Edit(ANIME anime)
        {
            var db = new MainDatabaseEntities();
            var editanime = db.ANIME.Include("GENRES").FirstOrDefault(a => a.ID_AN == anime.ID_AN);
            
            if (editanime == null)
            { 
                editanime.GENRES = anime.GENRES;
            }
            foreach (var genre in anime.GENRES)
            {
                if (genre.isSelected)
                {
                    if (!editanime.GENRES.Any(c => c.ID_GE == genre.ID_GE))
                    {
                        var addedgenre = new GENRES { ID_GE = genre.ID_GE };
                        db.GENRES.Attach(addedgenre);
                        editanime.GENRES.Add(addedgenre);
                    }
                }
                else
                {
                    var removedgenre = editanime.GENRES.SingleOrDefault(c => c.ID_GE == genre.ID_GE);
                    if (removedgenre != null)
                        editanime.GENRES.Remove(removedgenre);
                }
            }
            
            db.Entry(anime).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
 

Gdy zmieniam Genres poprzez checkboxy i kliknę zapisz to wszystko działa. Jednak gdy chcę wprowadzić zmiany w tytułach i zapisać to nic się nie dzieje. Gdy dodam db.Entry(anime).State = EntityState.Modified; wyskakuje błąd:

An object with the same key already exists in the 
ObjectStateManager. The ObjectStateManager cannot track multiple objects
 with the same key.

. Mógłby mi ktoś z tym pomóc?