2012-05-04 3 views
0

Je suis nouveau à MVC. J'ajoute dans la base de données OK avec ce code:Modèle MVC - comment mettre à jour une ligne dans DB?

[HttpPost] 
    [Authorize] 
    public ActionResult Add(CourseModel course) 
    { 
     course.UserID = (Guid)Membership.GetUser().ProviderUserKey; 

     _db.Class.Add(course); 
     _db.SaveChanges(); 

     return View(); 
    } 

Mais comment puis-je mettre à jour correctement un « cours » si je l'ai déjà dans la base de données, mais l'utilisateur mis à jour un champ ?. Je peux le supprimer, puis lire celui mis à jour et cela fonctionne bien, mais je suis sûr que ce n'est pas la bonne façon de le faire.

Merci.

+2

Utilisez-vous Entity Framework? – Zote

+2

En supposant que vous utilisez Entity Framework, [lisez ce post] [1]. [1]: http://stackoverflow.com/questions/160288/how-to-update-object-with-no-data-contexts – Zote

+1

Votre question semble pas liée à MVC lui-même; il ressemble plus à vous poser des questions sur "Comment mettre à jour une ligne dans DB dans Entity Framework?" ou smth comme ça. Si c'est vrai, pouvez-vous s'il vous plaît mettre à jour votre question et vos tags afin que ceux qui connaissent EF puissent la trouver et vous aider? –

Répondre

2

En supposant que vous utilisez EF, pour mettre à jour un enregistrement dans la base de données. Utilisation du code suivant

_db.Entry<Course>(course).State = System.Data.EntityState.Modified; 
_db.SaveChanges(); 
Questions connexes