+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    décembre 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : décembre 2012
    Messages : 1
    Points : 0
    Points
    0

    Par défaut Problème de référence objet en C#

    Bonjour à tous,
    je programme un projet en C# sous visual studio 2010 en utilisant ASP .NET MVC 3.
    J'ai créé une base de donée que j'utilise comme model dans MVC.
    Le problème est que je souhaite supprimer en base plusieurs champs d'une table "Abonnement" qui font référence à l'identifiant d'une autre table "Theme".
    La suppression pour la table "Theme" passe très bien (tble remplie).
    Mais la suppression pour la table "Abonnement" ne passe pas (table initialement vide).
    Voila l'erreur: "Impossible de supprimer l'objet, car il est introuvable dans ObjectStateManager."

    Et voilà pour le code:

    var abonnements_to_del = (from m in _db.Abonnement
    where m.theme_id == themeToDel.id
    select m);

    _db.DeleteObject(abonnements_to_del);



    Alors je sais que cette table est vide au début, mais je ne sais pas comment "contrer" l'erreur.
    Si vous aviez une solution, ce serait génial.
    Très cordialement.

  2. #2
    Membre éclairé
    Avatar de SoBaKa
    Homme Profil pro Grégory Houdremont
    Développeur .NET
    Inscrit en
    juillet 2006
    Messages
    241
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Houdremont
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juillet 2006
    Messages : 241
    Points : 320
    Points
    320

    Par défaut

    Bonjour,

    Tout d'abord, essaye d'utiliser les balises codes, merci.

    ensuite pour ton problèmes, tu récupères un IQueryable<T> avec ta requete LINQ. (En gros, ça peut te retourner une liste).

    si tu veux supprimer plusieurs éléments, pas d'autres choix que de faire une boucle foreach...

    Code :
    1
    2
    3
    4
    foreach(var abonnement in abonnements_to_del)
    {
      _db.DeleteObject(abonnement); 
    }
    ****** Analyse/Développeur .Net

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •