Tengo el siguiente modelo.Código de EF Primeras inserciones entre padres e hijos con columnas de identidad
class Parent
{
int ParentId (identity column) { get; set; }
string ParentName { get; set; }
virtual ICollection<Child> Children { get; set; }
}
class Child
{
int ChildId (identity column) { get; set; }
string ChildName { get; set; }
int ParentID { get ; set; } //foreign key to Parent(ParentID)
}
¿Cómo puedo insertar algunas filas en mi padre e hijo en una sola transacción? Básicamente, quiero obtener la identidad generada en el padre (digamos que inserte una fila en el padre) e insertar filas secundarias con ese valor? ¿Cómo se puede lograr esto con Code First?
¿No quisiste decir 'SaveChanges' y' dbContext.Parents.Add (parent) '? –
@Ladislav - Sí y sí, he corregido mi respuesta, gracias. Estaba mirando mi propia implementación de la Unidad de trabajo cuando respondí esto y me distraje/confundí :) –
El marco de la entidad primero inserta el elemento principal y luego los elementos secundarios. 'insert into parent -> newly_created_parent_id' y luego' insert into child (..., parent_id) values (..._ newly_created_parent_id) '. Probé esto y como dijiste que funciona, pero estoy buscando documentación donde establezca este comportamiento. ¿O es esto demasiado lógico para ponerlo en la documentación (msdn)? – broadband