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 un objet du datacontext


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut Supprimer un objet du datacontext
    Bonjour,

    J'ai un objet nommé "DEVICE" qui contient une relation avec "ANALYSE" qui lui contient un objet nommé "PERIPHERIQUE" qui lui même contient plusieurs objet.

    Je souhaiterais supprimer objet "ANALYSE" de mon objet "DEVICE" pour ce faire je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Contexttmps.DeleteObject(dev.Analysis);
                Contexttmps.SaveChanges();
    Maise cela ne fait pas de suppression en cascade, comment indiquer à mon context de supprimmer tous les objets contenu dans ANALYSE et les objets de mes objets ?

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pc152 Voir le message
    Maise cela ne fait pas de suppression en cascade, comment indiquer à mon context de supprimmer tous les objets contenu dans ANALYSE et les objets de mes objets ?
    Deux solutions :
    1. Activer la suppression en cascade dans le modèle EF. Cela n'affecte pas la base de données. Du coup pour que cela fonctionne il faudra que tous les objets rattachés à ton objet Analyse soient déjà chargés et suivis par le contexte. Seul hic tu risques de te casser les dents si tu as plusieurs objets Analyse à supprimer. Du coup tu te trouveras avec pour chaque Analyse, à charger le Peripherique, pour chaque Periphérique tous les objets qui lui sont rattachés. Si on a 1000 objets Analyse à supprimer alors ça peut créer des problèmes de mémoires.
    2. Activer la suppression en cascade côté SGBDR. Sur la table Peripherique tu actives la suppression en cascade pour la contrainte d'intégrité Analyse. Tu fais de même pour la table stockant toutes les lignes rattachées à une ligne Periphérique mais cette fois sur la contrainte d'integrité avec la table Peripherique. Avantage de cette solution : tu n'as à charger que ton objet Analyse dans ton application. Si tu valides la suppression de cet objet, c'est ton SGBDR qui va gérer la suppression des lignes en relation avec la ligne supprimée dans la base de données.


    J'utilise toujours la 2ème solution quand je travaille avec un ORM. AMHA c'est la meilleure solution si on réfléchit en terme de mémoire et de performance.

Discussions similaires

  1. Supprimer un objet de classe dans visual basic
    Par Access Newbie dans le forum Access
    Réponses: 4
    Dernier message: 02/08/2006, 20h26
  2. Comment supprimer des objets
    Par akrobat dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 17/06/2006, 11h48
  3. [debutant]Supprimer un objet instancié
    Par mikedavem dans le forum Général Java
    Réponses: 9
    Dernier message: 12/05/2006, 00h19
  4. Supprimer un objet
    Par ana2sb dans le forum Access
    Réponses: 1
    Dernier message: 21/11/2005, 20h34
  5. [API] Supprimer un objet
    Par Halleck dans le forum Windows
    Réponses: 11
    Dernier message: 10/04/2004, 01h34

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