Entity Framework: primer enfoque del código
Entity Framework proporciona tres enfoques para crear un modelo de entidad y cada uno tiene sus pros y sus contras.
- Código primero
- Base de datos primero
- Modelo primero
En este capítulo, describiremos brevemente el primer enfoque del código. Algunos desarrolladores prefieren trabajar con Designer en código, mientras que otros prefieren trabajar con su código. Para esos desarrolladores, Entity Framework tiene un flujo de trabajo de modelado denominado Code First.
El flujo de trabajo de modelado de Code First se dirige a una base de datos que no existe y Code First la creará.
También se puede usar si tiene una base de datos vacía y luego Code First también agregará nuevas tablas.
Code First le permite definir su modelo usando clases C # o VB.Net.
La configuración adicional se puede realizar opcionalmente usando atributos en sus clases y propiedades o usando una API fluida.
¿Por qué codificar primero?
Code First se compone en realidad de un conjunto de piezas de rompecabezas. Primero están sus clases de dominio.
Las clases de dominio no tienen nada que ver con Entity Framework. Son solo los elementos del dominio de su empresa.
Entity Framework, entonces, tiene un contexto que administra la interacción entre esas clases y su base de datos.
El contexto no es específico de Code First. Es una característica de Entity Framework.
Code First agrega un generador de modelos que inspecciona las clases que administra el contexto y luego usa un conjunto de reglas o convenciones para determinar cómo esas clases y las relaciones describen un modelo, y cómo ese modelo debe mapearse en su base de datos.
Todo esto sucede en tiempo de ejecución. Nunca verás este modelo, solo está en la memoria.
Code First tiene la capacidad de usar ese modelo para crear una base de datos si es necesario.
También puede actualizar la base de datos si el modelo cambia, utilizando una función llamada Code First Migrations.