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 :

Suppression en cascade avec EF 5 [Débutant]


Sujet :

Entity Framework

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut Suppression en cascade avec EF 5
    Bonsoir,
    J'ai 3 tables, une tables utilisateurs liée avec deux tables: Adresse et Telephone par une relation one TO many.

    Utilisateur one ---------------many Adresse
    one ---------------many Telephone
    Je souhaite qu'on je supprime un utilisateur, leur enregistrement dans les tables 'Telephone' et 'A dresse' doivent aussi supprimer.
    comme une premiere solution, j'ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     public ActionResult DeleteConfirmed(int id)
            {
                Utilisateur utilisateur = db.Utilisateurs.Find(id);
     
                foreach (UtilisateurTelephone uTel in utlisateur.UtilisateurTelephone.ToList())
                {
                    db.UtilisateurTelephone.Remove(uTel);
                }
                foreach (UtilisateurAdresse uAdr in utilisateur.UtilisateurAdresse.ToList())
                {
                    db.UtilisateurAdresse.Remove(uAdr);
                }
                db.Utilisateurs.Remove(utilisateur);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
    Ces ligne fonctionnent bien, mais si ma table Utilisateur est liée avec plusieurs autres tables, je serai obliger d'ajouter d'autres lignes.
    Je ne sais pas si EF, offre une possibilité pour résoudre ce petit problèmes!!!
    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Salut,

    Si code first, dans la création de ton mapping, il faut utiliser le WillCascadeOnDelete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
     
        modelBuilder.Entity<Utilisateur>()
            .HasOptional(u => u.UtilisateurTelephone)
            .WithOptionalDependent()
            .WillCascadeOnDelete(true);
    }
    Sinon je te conseille de faire ça au niveaux de la Bdd :
    sur la FK


    Sinon ta méthode est la bonne !

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Full-stack
    Inscrit en
    Novembre 2010
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Full-stack

    Informations forums :
    Inscription : Novembre 2010
    Messages : 372
    Points : 489
    Points
    489
    Par défaut
    Bonjour,
    Spécifie l'option ou , depuis ta base de Données.
    Sinon t'auras toujours les messages d'erreurs.

    Merci.
    La recherche de la connaissance est une Lumière qui apaise le Cœur.
    Si une réponse vous a été utile , n'oubliez pas de voter en cliquant sur:.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut
    Merci Katkiller et Alexandre le Grand pour vos réponce.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL-5.5] Suppression en cascade avec deux parents
    Par Maeho dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/06/2013, 13h20
  2. Suppression en cascade avec Hibernate
    Par Kamasa dans le forum Hibernate
    Réponses: 2
    Dernier message: 24/02/2010, 10h51
  3. suppression en cascade avec dataset
    Par inforedaster dans le forum VB.NET
    Réponses: 6
    Dernier message: 14/11/2008, 13h03
  4. Réponses: 29
    Dernier message: 07/05/2008, 16h09
  5. Problème avec suppression en cascade
    Par agur29 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/07/2007, 12h42

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