Sesión 2: 4h47m
Traducción de tipo .NET a tipo de datos
De clases a tablas.
DbContext de EF Core es fundamental para toda persistencia
- Controla qué clases se asignan a la base de datos
- Siempre es necesario crear una clase que herede de DbContext
- Controla todas las interacciones con la base de datos
- Controla cómo se asignan esas clases a la abse de datos
- El mapeo de campos se encuentra dentro del Contexto
- Objetos en memoria (In-Memory)
- Entidades: Objetos en memoria con propiedades clave (identidad) de los cuales el DbContext es consciente.
- DbContext: Contiene objetos EntityEntry con punteros de referencia a objetos en memoria.
Flujo de trabajo de seguimiento y guardado
EF Core Flujo de Migraciones
- Versionar los cambios de la estructura de datos
- Dabasase Migration: Evolución del esquema de la base de datos para que coincida con los cambios en el modelo descrito por el código.
- EF Core Migrations API
- Inspeccionar el modelo de datos.
- Comparar el estado del modelo de datos después de la migración anterior.
- Crear Script SQL (y ejecutar, si lo desea) para actualizar el esquema de la base de datos.
- Utilizando migraciones
- Update-Database (Para ambientes de desarrollo)
- Lee el archivo de migración
- Genera el SQL en memoria
- Crea la base de datos si fuese necesario
- Ejecuta el SQL en la base de datos
- Script-Migration (Para ambientes de producción)
- Lee el archivo de migración
- Genera el SQL
- Por defecto lo muestra en el editor SQL
- Usa parámetros para definir la salida del archivo
- Recomendación de migraciones
- Ingeniería inversa: Generar entidades a partir de base de datos.}
- Scaffold Ingeniería Inversa
- Operación única para crear clases de "stake in the ground" y DbContext
- A través de la herramienta de línea de comandos con una variedad de opciones
- EF Core Power Tools impulsado por la comunidad
- Beneficios de EF Core Migrations
- Determina el esquema con la misma lógica utilizada para describir el modelo de datos y las asignaciones.
- Los archivos de migración pasan a formar parte del control de código fuente.
- Crear paquetes de migración "compatibles con DevOps" para la implementación/ejecución
- Genere scripts SQL e incorpórelos a su propio proceso.
RECOMENDACIÓN: Para gestionar los cambios de la estructura de datos hay que usar migraciones en vez de archivos de Scripts.
Ejemplo Código Migraciones
Sesión 3: 42m30s
- A partir de mi código voy a crear mi BD.
- Generar migraciones: add-migration Init -o Infrastructure/Persistence/Migrations
- Ejecutar migracion (en ambientes de desarrollo): Update-Database
- 1h01m: Datos semilla
- 1h21m: Repositorios
- 1h34m: Capa de aplicación
LINQ
Sesión 3: 1h26m
Consulta integrada de lenguaje (Language Integrated Query). Una característica de .NET desde hace mucho tiempo con una extensión EF Core que, con la ayuda del proveedor de base de datos correspondiente, transforma esas consultas LINQ en consultas SQL.
EF Core's LINQ Query Workflow
LINQ to Entities, algunos métodos
No comments:
Post a Comment