Foros del Web » Programación para mayores de 30 ;) » .NET »

Insert en EntityFramework inserta en 2 tablas

Estas en el tema de Insert en EntityFramework inserta en 2 tablas en el foro de .NET en Foros del Web. Tengo 3 tablas involucradas, Alumno,Materia,AlumnoMateria, esta ultima ya que un Alumno puede tener varias Materias. Al principio mi problema era eliminar una Materia de un ...
  #1 (permalink)  
Antiguo 16/06/2016, 10:03
Avatar de Namiwis  
Fecha de Ingreso: mayo-2013
Ubicación: Crustaceo Cascarudo
Mensajes: 162
Antigüedad: 11 años
Puntos: 10
Insert en EntityFramework inserta en 2 tablas

Tengo 3 tablas involucradas, Alumno,Materia,AlumnoMateria, esta ultima ya que un Alumno puede tener varias Materias.

Al principio mi problema era eliminar una Materia de un Alumno, al hacer el Remove, me borraba el Registro de AlumnoMateria pero también la borraba de Materia, lo pude solucionar, y siguiendo la misma lógica, intente hacer lo mismo para Agregar una materia a un Alumno pero no me ha funcionado, esto es lo que hago.

Para borrar, una lista de objetos Materias a borrar

Código C#:
Ver original
  1. MateriasEliminar.Add(Materias);
Luego recorro la lista y borro

Código C#:
Ver original
  1. foreach (var item in MateriasEliminar)
  2. {
  3.    Alumno.tblMaterias.Remove(item);
  4. }
Intente hacer lo mismo para agregar una Materia a un Alumno pero me agrega el valor en Materias (crea una materia nueva que ya existe) y en la tabla AlumnoMateria agrega el valor (aquí es donde solo deseo que se agregue)

Alguna idea de como realizar este insert, la tabla AlumnoMateria es una llave compuesta de IdMateria e IdAlumno

__________________
http://binarysuns.com.mx/
  #2 (permalink)  
Antiguo 17/06/2016, 10:42
 
Fecha de Ingreso: junio-2016
Mensajes: 3
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: Insert en EntityFramework inserta en 2 tablas

Hola, ¿qué tal? :D

Yo he tenido el mismo problema, y básicamente el problema no está en el código sino en la estructura de tu base de datos.

Deberías revisar tus relaciones y si en tus llaves foráneas (FK) haces uso de onDelete, onUpdate y otros atributos que nos permiten realizar eliminaciones y actualizaciones, asi como inserciones sin ningún problema.

Podrías checar esto para darte una idea de lo que te hablo:

[URL="http://www.techonthenet.com/sql_server/foreign_keys/foreign_delete.php"]http://www.techonthenet.com/sql_server/foreign_keys/foreign_delete.php[/URL]
  #3 (permalink)  
Antiguo 23/06/2016, 22:21
 
Fecha de Ingreso: junio-2016
Mensajes: 5
Antigüedad: 7 años, 10 meses
Puntos: 1
Respuesta: Insert en EntityFramework inserta en 2 tablas

podrias intentar con una sentecia sql, asi:

string sql = "insert into Alumno(nombreAlumno, Edad) values (@txtNombre, @txtEdad); insert into Materia(nombreMateria) values (@txtMateria);"

Nota que al final de cada sentecia va punto y coma (;). Saludos
  #4 (permalink)  
Antiguo 24/06/2016, 02:02
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Insert en EntityFramework inserta en 2 tablas

Cita:
Iniciado por AntonioCardoso Ver Mensaje
podrias intentar con una sentecia sql, asi:

string sql = "insert into Alumno(nombreAlumno, Edad) values (@txtNombre, @txtEdad); insert into Materia(nombreMateria) values (@txtMateria);"

Nota que al final de cada sentecia va punto y coma (;). Saludos
Está trabajando con Entity Framework...
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: insert, inserta, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:02.