IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entity Framework Discussion :

Entity Framework 5 : Update One to many


Sujet :

Entity Framework

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Par défaut Entity Framework 5 : Update One to many
    Salut à tous !

    J'aimerais savoir comment update mes chèques de ma BDD quand j'update un Customer lié en One to Many.

    Voici ma BDD :

    Nom : BRFif.png
Affichages : 478
Taille : 7,0 Ko

    And voici ce que j'ai fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    using (var context = new ConEntities())
        {
            var original = context.Customer.Include(p => p.Check).SingleOrDefault(s => s.id == customerToUpdate.id);
     
            if (original != null)
            {
                context.Entry(original).CurrentValues.SetValues(customerToUpdate);
     
                context.SaveChanges();
            }
        }
    Je n'ai pas d'erreur, mon Customer s'update bien, mais pas ses chèques, comment faire ?

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Par défaut
    Peux-tu être plus précis ?

    Si tu changes le Name de ton customer pas besoin de changer les chèques.

    Ajoutes tu, ou supprimes tu des chèques pour un customer ?
    Dans ce cas je ne vois pas les Add ou Remove sur la colllection des chèques.

    Places un point d'arrêt sur ton SaveChange et vérifie que ton customerToUpdate contient bien ce que tu souhaites.

    Montres-nous tes Models pour customer et bankCheck ainsi que le code qui met à jour customerToUpdate.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Par défaut
    Salut !

    Alors tout ce que tu vois ici est un exemple, ce n'est pas mon code de base (question de confidentialité).

    En faites quand je modifie un customer, que ce soit ses cheques ou son nom, il faut que je fasse un update sur tout le customer.

    Voici un récap des actions :

    Je créais un customer et je lui ajoute les chèques en collection, je l'ajoute avec EF : context.Customer.Add(newCustomer);
    Ensuite je clic sur un bouton pour éditer un customer, je modifie son nom ainsi que ses chèques, je créais un nouveau customer avec ces informations et je fais le code vu dans mon post original : Je récupère le customer originel, et je lui applique les modifications.
    Le nom sera changé, mais pas les chèques.

    Oui, si je supprime un Customer, je supprime aussi ses chèques. Et quand je parle d'édition (concernant le cheque) je parle de modification, de suppression ou encore d'ajout. Mais rien n'est pris en compte.

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Sans code, c'est difficile de t'aider.
    D'autant plus que l'explication ne suffit pas à imaginer le code que tu as produit.

    Ceci dit, pour mettre à jour des grappes d'objets détachés, la librairie GraphDiff de RefactorThis te facilite grandement le travail : GraphDiff.

    Le package est disponible sur NuGet sous le nom : RefactorThis.GraphDiff.

    Article introduisant le concept : Introducing GraphDiff for Entity Framework Code First - Allowing automated updates of a graph of detached entities (en anglais)

Discussions similaires

  1. Réponses: 22
    Dernier message: 03/10/2012, 22h32
  2. Réponses: 4
    Dernier message: 18/08/2011, 10h38
  3. One to Many/One avec ASP.NET MVC et Entity Framework
    Par kaisser dans le forum Entity Framework
    Réponses: 6
    Dernier message: 17/08/2011, 22h55
  4. Erreur lors d'un Update et delete [Entities Framework : FW 4.0]
    Par napster dans le forum Entity Framework
    Réponses: 4
    Dernier message: 04/04/2011, 11h04
  5. ADO.NET Entity Framework many to many
    Par tomglouden dans le forum Framework .NET
    Réponses: 3
    Dernier message: 05/11/2009, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo