'entité du même type a déjà la même valeur de clé primaire' erreur à l'aide de AutoMapper

Lorsque j'utilise AutoMapper, cette Erreur s'est produite:

Fixation d'une entité de type " MyProject.DAL.L'utilisateur' a échoué en raison d'une autre entité du même type a déjà la même valeur de clé primaire. Cela peut se produire lors de l'utilisation de la "Attacher" la méthode ou la mise à l'état d'une entité à "Inchangé" ou "Modifié" si toutes les entités dans le graphe de conflit de valeurs de clé. Cela peut être parce que certaines entités sont nouveaux et n'ont pas encore reçu de base de données-clé générée de valeurs. Dans ce cas, utilisez la fonction 'Ajouter' méthode ou la "Ajoutée" état de l'entité pour suivre le graphique, puis de définir l'état de non-nouvelles entités à "Inchangé" ou "Modifié" selon le cas.

Je veux Utilisateur de carte à UserModel quand je retrive à partir de la base de données. - Je changer UserModel propriétés de l'INTERFACE utilisateur, puis la carte de nouveau à l'Utilisateur et de le mettre à Jour.
Mon code est ici:

public UserModel GetUserByUserId(int id)
    {
        var user = db.Users.Where(p => p.UserId == id).FirstOrDefault();
        var userModel = Mapper.Map<UserModel>(user);
        return userModel;
    }

public void Update(UserModel userModel)
    {
        var user = Mapper.Map<User>(userModel);
        db.Entry(user).State = EntityState.Modified;
        db.SaveChanges();
    }

mais si je n'utilise pas l'auto mappeur et écrire quelque chose comme ci-dessous de code, il fonctionne correctement.

public void Update(UserModel userModel)
    {
        updatingUser.Email = userModel.Email;
        updatingUser.FirstName = userModel.FirstName;
        updatingUser.ModifiedDate = DateTime.Now;
        updatingUser.LastName = userModel.LastName;
        updatingUser.Password = userModel.Password;
        updatingUser.UserName = userModel.UserName;

        db.Entry(updatingUser).State = EntityState.Modified;
        db.SaveChanges();
    }

Que dois-je faire:

updatingUser semble sortir de nulle part sur votre deuxième fonction de mise à jour
Veuillez vous référer à ma réponse sur ASP.NET MVC - Fixation d'une entité de type "MODELNAME" a échoué à cause d'une autre entité du même type a déjà la même valeur de clé primaire.

OriginalL'auteur alite | 2015-09-04