none
Cannot remove an entity that has not been attached. RRS feed

  • Pregunta

  • Hola, tengo este código para añadir y funciona bien.

            public void Agregar(Notas notas)
            {
                this.Notas.Add(notas);
                NotasDataContexto.Current.Notas.InsertOnSubmit(notas);
                NotasDataContexto.Current.SubmitChanges();
            }

    Ahora pongo este otro para borrar y me da un error: Cannot remove an entity that has not been attached.

            public void Borrar(Notas notas)
            {
                this.Notas.Remove(notas);
                //Esta linea que sigue da el problema
                NotasDataContexto.Current.Notas.DeleteOnSubmit(notas);
                NotasDataContexto.Current.SubmitChanges();
            }

    Yo lo que hago para cargar (notas) es pasarle el tres parametros que provienen de un listbox:

    1er. parametro es

    int indi = lb.SelectedIndex;

    y el 2 y 3ero lo hago así:

    string cadena= lb.SelectedItem.ToString();

    despues lo desgloso y obtengo 2 parametros.

    Cosas que no tengo claras son, si selectedindex equivale al id que tengo en la base de datos asociada al listbox. Por favor necesito ayuda.

    Gracias.


    Heimdal

    miércoles, 2 de mayo de 2012 16:08

Respuestas

  • Esta es la solución:

    Sustituir,

    NotasDataContexto.Current.Notas.DeleteOnSubmit(notas);

    por:

    NotasDataContexto.Current.Notas.DeleteOnSubmit(NotasDataContexto.Current.Notas.Single(p=>p.Id == notas.Id));

    Espero que le sirva de algo a alguien. Saludos.

    Heimdal

    • Marcado como respuesta appmobiles.tk miércoles, 2 de mayo de 2012 18:52
    miércoles, 2 de mayo de 2012 18:51