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

ASP.NET MVC Discussion :

Supprimer les enregistrements liés [Débutant]


Sujet :

ASP.NET MVC

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 65
    Points : 48
    Points
    48
    Par défaut Supprimer les enregistrements liés
    Bonjour,

    J'ai une table CONTRATS avec une table liée GARANTIES.

    VS 2010 m'a généré ma vue pour supprimer un enregistrement CONTRATS.

    Par contre, lorsque je teste j'ai un message d'erreur car les enregistrements liés de la table GARANTIES ne sont pas supprimés. Du coup les contraintes d'intégrité ne sont pas validées.

    Comment faire pour supprimer dans le même temps les enregistrements GARANTIE lorsque l'on supprime un enregistrement CONTRATS ?

    Mon code :

    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
    18
    19
    20
    21
    22
    23
    24
     
    //
    // GET: /ContratFL/Delete/5
     
    public ActionResult Delete(int id = 0)
    {
         CONTRATS contrats = db.CONTRATS.Find(id);
         if (contrats == null)
         {
             return HttpNotFound();
         }
         return View(contrats);
    }
     
    // POST: /ContratFL/Delete/5
     
            [HttpPost, ActionName("Delete")]
            public ActionResult DeleteConfirmed(int id)
            {
                CONTRATS contrats = db.CONTRATS.Find(id);
                db.CONTRATS.Remove(contrats);
                db.SaveChanges();
                return View("SuppOK");
            }
    D'avance merci.


    Cordialement

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    en SQL : quand tu définies ta FK tu peux préciser ON DELETE CASCADE.
    Si le champ auquel est appliqué ta FK est nullable tu peux aussi faire un ON DELETE SET NULL (peut être intéressant si tu veux conserver les données).

    MVC je connais pas, donc je sais pas comment tu peux gérer ça côté C#.
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 65
    Points : 48
    Points
    48
    Par défaut
    Merci de ta réponse jopopmk.

    Je m'attendais plus à une réponse de type ASP.NET C# mais ce que tu me proposes marche très bien !

    Merci à toi.

    Bonne journée.

    Cordialement

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

Discussions similaires

  1. supprimer un enregistrement et les enregistrements liés
    Par fou-jea dans le forum Requêtes
    Réponses: 1
    Dernier message: 28/09/2012, 17h20
  2. requete qui Supprime les enregistrement d'une table
    Par mqsi dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 24/10/2007, 12h04
  3. [Requete]Supprimer les enregistrements
    Par le_gueux90 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 13/06/2007, 12h15
  4. Réponses: 2
    Dernier message: 26/04/2007, 16h32
  5. Supprimer les enregistrements d'une table !
    Par obon dans le forum Bases de données
    Réponses: 7
    Dernier message: 05/05/2006, 11h15

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