Prologo
Continuando con la serie de Entity Framework (I ,II y III) en este capítulo vamos a ver como crear registros en la Base de Datos a Través de Entity Framework.
Inserción de Datos
Tal y como hablaba en el 2º post, una entidad se va a corresponder con un registro de la Base de Datos, y cada una de las propiedades con una columna de la Tabla a la que representa la Entidad.
Para comenzar, será necesario que creemos una variable del tipo de Entidad que queremos insertar en la Base de Datos:
1: EMPLEADOS empleado = new EMPLEADOS();
Como, también comente en el post anterior, existe la posibilidad de utilizar el método estático definido por VS en cada Entidad:
Una vez que hayamos creado el objeto de la entidad, podremos acceder a sus propiedades, para rellenarlas como una clase normal:
1: empleado.NOMBRE = "Javier Torrecilla";
Después de rellenar las propiedades de nuestra Entidad, será necesario que lo agreguemos al ObjectSet de nuestro ObjectContext:
1: enti.EMPLEADOS.AddObject(empleado);
o
1: enti.AddToEMPLEADOS(empleado);
Ambos métodos van a realizar la misma acción, generar una inserción para la BD.
¿Hemos terminado?
No.
Toda Entidad, posee una propiedad “EntityState”, del tipo enumeración EntityState, que presenta los siguientes tipos:
- Detached: Este estado indica que la Entidad ha sido creada, pero no se ha añadido a la base de Datos.
- Unchanged: Este estado indica que la Entidad no tiene cambios con respecto de consulta o desde la última vez que se actualizo la BD.
- Added: Indica que se ha agregado al ObjectSet, pero todavía no se ha enviado a la Base de Datos.
- Deleted: Indica que el objeto se ha borrado del contexto, pero todavía no de la BD.
- Modified: Indica que el objeto tiene modificaciones pendientes de guardar en la BD.
Vamos a ver los cambios que se dan en la Propiedad durante los pasos de creación de un Registro y lo vamos a relacionar con su paso a la BD:
- Creación de la Entidad y asignación de las propiedades: EntityState=EntityState.Detached;
- Agregar el objeto al ObjectSet: La propiedad va a pasar a tener el valor EntityState.Added. Esto todavía no indica que se haya creado el registro en la Base de Datos.
- Guardar los Datos:
Para poder guardar los datos en la base de Datos será necesario invocar a la función “SaveChanges()” de nuestro contexto. Una vez invocada la función, el valor de la Propiedad EntityState será EntityState.Unchanged.
¿Qué realiza la función SaveChanges?
Esta función se encarga de sincronizar y enviar todos los cambios pendientes de realizar a la BD.
Se van a agregar, modificar y eliminar todos aquellos Entidades, cuyas propiedad EntityState, tengan un valor Added, Deleted o Modified.
Una vez finalizado el proceso, aquellas entidades con la propiedad en valor Added o Modified, van a pasar a tener un estado “Unchanged”, y aquellas entidades en estado “Deleted”, van a pasar a un estado “Detached”.
Prologo En el episodio anterior hemos visto una forma de crear registros con EF, ahora vamos a ver peculiaridades
Prologo En los capítulos anteriores hemos visto como insertar datos a través de EF, sin secuencias y
Prologo Hasta el momento, hemos visto un acercamiento a trabajar con Entity Framework y Oracle viendo