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

Accès aux données Discussion :

[Linq to Sql] Impossible de supprimer une entité qui n'a pas été attachée.


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut [Linq to Sql] Impossible de supprimer une entité qui n'a pas été attachée.
    Salut,

    Je suis complètement novice concernant LINQ et je reprends le travail de quelqu'un d'autre. Je suis donc la logique de son projet, du moins j'essaie.
    Situons le problème, j'ai une table contenant deux colonnes. Ces deux colonnes sont la clé primaire de la table.
    J'essaie de supprimer une ligne de cette table, en utilisant ceci :

    L'appel de la méthode en VB
    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
    Protected Sub cbAlerte_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
      Dim cb As CheckBox = CType(sender, CheckBox)
      Dim row As GridViewRow = CType(cb.Parent.Parent, GridViewRow)
      If row IsNot Nothing Then
        Dim Index As Integer = row.DataItemIndex
        Dim Id As Integer = GridViewMesRecherches.DataKeys(Index).Value
        Dim mts As New MyLib.Services.AlertesService()
        Dim mt As New MyLib.Repositories.MY_TABLE()
          If cb.ID = "cb1" Then
            mt.COL2 = 1
          ElseIf cb.ID = "cb2" Then
            mt.COL2 = 2
          End If
        al.COL1 = Id
     
        If cb.Checked Then
          mts.insertMyTableByCol1AndCol2(mt)
        Else
          mts.deleteMyTableByCol1AndCol2(mt))
        End If
      End If
    End Sub
    La méthode elle-même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void deleteMyTableByCol1AndCol2(MyTable mt) {
      _db.MyTables.DeleteOnSubmit(mt);
      _db.SubmitChanges();
    }
    Et la définition de la table dans le dbml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Table Name="dbo.MY_TABLE" Member="MY_TABLEs">
      <Type Name="MY_TABLE">
        <Column Name="COL1" Type="System.Int32" DbType="Int NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
        <Column Name="COL2" Type="System.Int32" DbType="Int NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      </Type>
    </Table>
    J'obtiens une erreur en retour qui est comme le titre du message l'indique :
    Impossible de supprimer une entité qui n'a pas été attachée.
    Je ne trouve que difficilement des informations sur le sujet, pouvez-vous m'éclairer?

    Merci par avance.

  2. #2
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Le message d'erreur est encore une fois parlant après coup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void deleteMyTableByCol1AndCol2(MyTable mt) {
      _db.MyTables.Attach(mt);
      _db.MyTables.DeleteOnSubmit(mt);
      _db.SubmitChanges();
    }
    Pour information le message d'erreur en anglais grâce auquel j'ai pu trouvé réponse à mon problème : "Cannot remove an entity that has not been attached"

    Note pour moi-même : remove... REMOVE! pas delete...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/11/2010, 13h00
  2. ajouter une colonne a une entité qui ne sera pas mappé
    Par *alexandre* dans le forum Hibernate
    Réponses: 3
    Dernier message: 02/10/2008, 09h59
  3. impossible de supprimer une image!
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/09/2006, 15h03
  4. Réponses: 29
    Dernier message: 09/02/2006, 17h11
  5. impossible de supprimer une imprimate réseau
    Par sony351 dans le forum Administration
    Réponses: 4
    Dernier message: 27/10/2005, 12h30

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