Obtenir "Le type d'entité & lt; modèle & gt; ne fait pas partie du modèle pour le contexte actuel. "

Je vais avoir ce problème de mise à jour de ma base de données 1 colonne à la fois dans asp.net à l'aide de l'api web. Je suis en train d'interroger un METTRE pour mettre à jour une valeur dans la ligne au lieu de la mise à jour de l'un et de réglage de la reste à null. J'ai fait un modèle distinct, à l'extérieur de l'automate à prendre dans la mise à jour afin que je puisse faire à un moment. Lorsque je tape cette ligne db.Entry(user).State = EntityState.Modified; dans le contrôleur, qui est l'endroit où il est erroring arrière. Des conseils comment je peux résoudre ce problème?

C'est mon séparé ViewModel je suis prise dans la méthode put:

namespace WebAPI.Models.ViewModels
{
    public class UserViewModel
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }
}

C'est mon contrôleur de l'appel de la méthode avec le ViewModel dans mes paramètre:

public HttpResponseMessage PutUser(int id, UserViewModel user)
        {
            HttpResponseMessage response;

            if (db.User.IsInRole("Admin"))
            {
                try
                {
                        db.Entry(user).State = EntityState.Modified;
                        db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UserExists(id))
                    {
                        response = new HttpResponseMessage(HttpStatusCode.NotFound);
                        return response;
                    }
                    else
                    {
                        throw;
                    }
                }

                response = new HttpResponseMessage(HttpStatusCode.NoContent);
                return response;
            }

C'est mon DBContext fichier:

public partial class Entities : DbContext
    {
        public Entities()
            : base("name=Entities")
        {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }
        public virtual DbSet<User> Users { get; set; }
    }
}

source d'informationauteur Shawn