contexte.SaveChanges ne fonctionne pas
Ma méthode de mise à jour ne fonctionne pas dans un ASP.NET MVC 3 application. J'ai utilisé les suivants EF de code 4.1:
[HttpPost]
public ActionResult UpdateAccountDetails(Account account)
{
if (ModelState.IsValid)
{
service.SaveAccount(account);
}
}
et SaveAccount
ressemble à ceci:
internal void SaveAccount(Account account) {
context.SaveChanges();
}
sont vos entités attaché ou détaché?
Je ne suis pas sûr de ce que signifie-t-il par l'attaché ou détaché ...
Pouvez-vous fournir à la partie du service dans lequel l'enregistrement/l'entité insertion/mise à jour. Je soupçonne que vous avez une clause using.
Veuillez définir "pas de travail".
Je ne suis pas sûr de ce que signifie-t-il par l'attaché ou détaché ...
Pouvez-vous fournir à la partie du service dans lequel l'enregistrement/l'entité insertion/mise à jour. Je soupçonne que vous avez une clause using.
Veuillez définir "pas de travail".
OriginalL'auteur DotnetSparrow | 2011-11-08
Vous devez vous connecter pour publier un commentaire.
Alternative:
OriginalL'auteur Slauma
Le problème ici est que vous n'êtes pas tenir compte du fait que les pages Web sont apatrides. Vous avez probablement pupulate votre page avec les données du compte retourné à partir de la base de données, mais ensuite, l'objet est détruit à la fin de la demande.
Sur la publication, un nouveau Compte est créé par le modèle de classeur, mais celui-ci n'est pas relié à la base de données, de sorte que votre base de données de contexte n'a aucune idée qu'il existe même. Ainsi, lorsque vous appelez SaveChanges, rien n'a changé autant qu'il est concerné.
Vous devez soit obtenir un nouveau Compte de l'objet à partir de la base de données et mettre à jour les champs avec les données du modèle de classeur créé un Compte, ou de fixer le nouveau compte de l'objet à la base de données.
OriginalL'auteur Erik Funkenbusch
Cet article est d'aider
http://msdn.microsoft.com/en-us/library/bb896271.aspx
Vous devrez peut-être ajouter
context.Accounts.Attach(account);
pour rattacher votre entité pour le contexteOriginalL'auteur msmucker0527
Vous n'êtes pas faire de changements, donc il n'y a vraiment rien pour être sauvé. La façon la plus simple peut être de faire ce qui suit:
OriginalL'auteur Yakimych