Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Entity Framework
Persist and retrieve relational data with Entity Framework Core - Learn | Microsoft Docs
Es un ORM para la plataforma .NET.
Model
Data Access es realizado mediante un modelo. Un modelo se compone de clases de
entidad y un objeto de contexto que representa la sección con la base de datos. Un objeto
de contexto permite querying data y save data.
Más información
Querying
Entity Framework Core utiliza Language-Integrated Query (LINQ) para consultar datos en la
base de datos. Utiliza el contexto derivado y las clases de entidad para hacer referencia a
los objetos de la base de datos. EF Core pasa una representación de la consulta LINQ al
database provider. Los proveedores de bases de datos, a su vez, lo traducen al lenguaje de
consulta específico de la base de datos.
Más información
Save Data
Los datos se crean, eliminan y modifican en la base de datos utilizando instancias de sus
clases de entidad Cada instancia de contexto tiene un ChangeTracker que es responsable
de realizar un seguimiento de los cambios que deben escribirse en la base de datos. A
medida que realiza cambios en las instancias de sus clases de entidad, estos cambios se
registran en ChangeTracker y luego se escriben en la base de datos cuando llama a
SaveChanges.
Más información
Migrations
Code First Migrations significa crear en base al modelo una base de datos. Los modelos de
datos cambian a medida que se implementan las características: se agregan y eliminan
nuevas entidades o propiedades, y los esquemas de la base de datos deben cambiarse en
consecuencia para mantenerse sincronizados con la aplicación. La función de migraciones
en EF Core proporciona una forma de actualizar de forma incremental el esquema de la
base de datos para mantenerlo sincronizado con el modelo de datos de la aplicación
mientras se conservan los datos existentes en la base de datos.
Guia
Create a Model
Podemos personalizar algunas configuraciones para nuestras entidades, esto lo hacemos
agregando un método en nuestro contexto llamando OnModelCreating( ModelBuilder
modelBuilder )
Relationship
Una relación define como dos entidades se relacionan. En base de datos relaciones, esto es
representado como foreign key constraint.
Keyless
Un modelo de EF Core puede contener entidades sin clave, que se pueden usar para realizar
consultas de bases de datos en datos que no contienen valores clave.
Entity Framework Core Tools
Permite desarrollar en design-time, es decir, se trabaja mientras se está creando la
aplicación. Se utilizan principalmente para administrar las migraciones y para montar un
DbContext y tipos de entidad mediante la ingeniería inversa del esquema de una base de
datos.
Instalando
dotnet ef Comandos:
Database
● dotnet ef database update: Actualiza la base de datos a la última migración o una
migración específica.
Migrations
● dotnet ef migrations add <name>: Agrega una nueva migracion
Microsoft.EntityFramework
DbContext Class
Guia para usar DbContext
representa una sección con la base de datos, se usa para consultar y guardar instancias de
tu entidades. DbContext es una combinación de los patrones Unit of Work y Repositorio.
DbSet<TEntity> Class
Representa una Entidad
Microsoft.EntityFrameworkCore.Migrations
Guia
Migration Class
Una clase base heredada por cada migración de EF Core.
Métodos
Up
Down
MigrationBuilder Class
Microsoft.EntityFrameworkCore.Design
Componentes en design-time compartidos para Entity Framework Core Tools.
Pasos
// 1 - Agregar una conexion string en el archivo appsettings.json
// 2 - Instalar dotnet en la consola con el siguiente comando - dotnet tool install --global
dotnet-ef
// https://docs.microsoft.com/en-us/dotnet/core/tools/
// dotnet - es un comando de .Net, es como npm
// dotnet tool install - instala algun .NET Tools en tu computadora
// https://docs.microsoft.com/en-us/ef/core/cli/dotnet
// dotnet-ef - (CLI) para Entity Framework Core realizan tareas de desarrollo en
tiempo de diseño. Por ejemplo, crear migrations