Pregunta

que tengo en la base de datos de una tabla de contacto y una mesa de teléfono, en la tabla de teléfono no es la columna "ContactId" con una clave que hace referencia el teléfono para el contacto.

En las opciones de las teclas en el servidor que establezca su opción de borrado a 'Cascade'.

Ahora cuando intento eliminar un contacto utilizando el contexto:

Dim contact As Contact 'The contact I want to delete.
Dim context As New Entities 'The ObjectContext.
context.DeleteObject(contact)
context.SaveChanges()

La declaración anterior, se emite una UpdateException dejarme saber que el contacto todavía tienen registros telefónicos cuyos ContactId col se ajusta a su identificación.

Ahora sé que puedo hacerlo de forma manual y borrar todos los teléfonos primeras relacionados a continuación, quitar el contacto, pero estoy en busca de una manera más eficiente, quiero todo esto debe hacerse de forma automática.

Cualquier sugerencia y prácticas son bienvenidos.

Gracias.

¿Fue útil?

Solución

No es necesario eliminar manualmente los registros telefónicos primero, pero sí es necesario para cargarlos. Una vez que los registros se cargan, Entity Framework se darán cuenta de qué hacer.

Además, esta entrada del blog tiene un método para la eliminación de objetos en el marco de la entidad sin ellos primero recuperando . Se discute el tema de la eliminación de objetos con referencias a objetos relacionados. Podría ayudar a conseguir su cabeza en torno a lo que está sucediendo bajo el capó.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top