Code First o código primero hace referencia a una metodología de trabaja para el desarrollo de aplicaciones en donde no se tiene una base de datos creada sino que esta misma se crear a partir de un modelo que es una clase, cuyo nombre sería el nombre de la tabla y dentro de esta clase estarían las propiedades que vendrían siendo los campos en la base de datos, una vez se tiene la clase se crea la base de datos.
Este escenario incluye establecer como destino una base de datos que no existe y Code First la creará, o una base de datos vacía a la que Code First agregará nuevas tablas. Code First permite definir el modelo mediante las clases C o VB.net. Opcionalmente, se puede realizar una configuración adicional mediante atributos en las clases y propiedades o mediante una API fluida.
- Es un enfoque más orientado al programador
- Se crean clases por cada uno de la tablas de la base de datos
- Las relacionados se crean en las mismas clases referenciándolas entre ellas usando propiedades
- Se pueden decorar algunas propiedades de estas clases usando Data Annotations (Anotaciones)
- Se usan las migraciones para crear la base de datos, tablas, campos y restricciones
Veamos el siguiente ejemplo de Code First

En el ejemplo anterior al lado izquierdo tenemos dos clases una llamada “Blog” y Otra llamada “Post”, estas clases pasarían a ser el nombre de cada tabla en la base de datos. Ahora dentro de cada clase existen unos parametros de tipo entero, string, etc, por ejemplo el parámetro “BlogId” que pasaría a convertirse en la base de datos en el campo que será llave primaria. Es importante aclarar que en esta metodología primero se crear la clase o las clases y no la base de datos ya que la base se crear a partir de la misma clase ya creada usando un proceso llamado: Migración y posterior ejecución en la base de datos.
Mira el siguiente video donde te explico que es Code First
Este artículo hace parte de mi nuevo curso profesional de Entity Framework Core. Puedes ver la información completa de este curso en el siguiente enlace:
Entity Framework Core el Curso Completo
