2009-11-04 6 views
0

Je ne parviens pas à supprimer un enregistrement de la table à l'aide d'ADO.Net Entity Framework.
Le débogage me permet de passer par la méthode sans aucune erreur.Comment supprimer à l'aide d'ADO.Net Entity Framework

Cust_DataModel.Cust_DataEntities db = new Cust_DataModel.Cust_DataEntities(); 

protected void DeleteButton_Click(object sender, EventArgs e) 
{ 
    if (lvCust.SelectedIndex >= 0) 
    { 
     int custId = Convert.ToInt32(lvCust.SelectedDataKey.Value.ToString()); 
     var cust = db.Cust.FirstOrDefault(d => d.CustId == custId); 

     try 
     { 
      int co = db. Cust.Count(); 
      db.AttachTo("Cust", cust); 

      db.DeleteObject(cust); 
      int co2 = db. Cust.Count(); 
      db.SaveChanges(); 
      int co1 = db. Cust.Count(); 
     } 
     catch (Exception ex) 
     { 
     } 

     lblMessage.Text = "cust was deleted."; 
    } 
    else 
     lblMessage.Text = "No cust was selected."; 
} 

Je suis capable de lister les éléments de la table dans un ListView.

private void BindCust() 
{ 
    var custs = from cust in db.Cust where cust.UserId == userId orderby cust.Created descending select cust; 

      lvCust.DataSource = custs; 
      lvCust.DataBind(); 
} 
+0

ressemble à cust déjà attaché puisque vous l'obtenez de db juste avant de supprimer ... n'est ce pas? –

+0

Même si je supprime l'instruction attach, cela ne fonctionne pas. – Picflight

Répondre

0

Je ne suis pas sûr, mais ne pas que vous devez enregistrer les modifications après la fixation d'un élément avant de le supprimer?