Você está na página 1de 8

13/11/2019 Introdución a Entity Framework Core | ASP.

NET Core Master

ASP.NET Core Master Libro Subscribete

Escribe en tu blog:

Segundo Calendario de Adviento de C#

Introdución a Entity Framework Core


Aug 7, 2018 • Benjamín Camacho

Entity Framework Core es una tecnología de acceso a datos para .NET Core y .NET Framework. Es
multiplataforma y de código abierto desarrollado por Microsoft con aportes de la comunidad.
Propiamente dicho es un asignador objeto relacional o ORM por sus siglas en inglés. Su función
principal es servir como interprete entre dos tecnologías fundamentadas en distintos principios por
un lado la programación orientada a objetos y por el otro las bases de datos relacionales y no
relacionales.

Permite al programador controlar una base de datos relacional usando un lenguaje de


programación en lugar de SQL estándar o uno de sus dialectos.Libera al programador de escribir
gran cantidad de código repetitivo para acceder a los datos.

Favorece el principio de convención sobre configuración muy al estilo de Ruby On Rails lo que
permite al programador de escribir gran cantidad de código de configuración. Esperen un post
sobre todas las convenciones de para Entity Framework Core. En este artículo solo se hace mención
de la convención para las llaves primarias que espera que una clase tenga una propiedad llamada
Id o <[NombreClase]Id>.

Solar Power Cam Farm Security


Solar Camera for Farm Security -
Anuncio
High Resolution HD Recording and…
Anuncio
Spytek Surveillance

Open

La configuración se puede hacer mediante Fluent API</span> o Anotaciones de Datos. La primera


esta basada en métodos de extensión y la segunda en atributos.

A continuación un serie de preguntas y respuestas que pueden servir como introducción para
conocer este framework.

https://aspnetcoremaster.com/c%23/entityframeworkcore/dotnet/ef/2018/08/07/introduccion-entityframeworkcore.html 1/8
13/11/2019 Introdución a Entity Framework Core | ASP.NET Core Master

¿ Con que bases de datos puedo usar Entity Framework Core


?
Entity Framework Core tiene un modelo de proveedores lo que permite usarlo con multiples bases
de datos. Solamente es necesario instalar el paquete de Nuget correspondiente y construir la cadena
de conexión.

A continuación una lista de ejemplos de algunas bases de datos con las que puedes usar Entity
Framework Core y la dirección del paquete de Nuget

Base de dato Paquete de Nuget

SqlServer Microsoft.EntityFrameworkCore.SqlServe

SQLite Microsoft.EntityFrameworkCore.Sqlite

Oracle Oracle.EntityFrameworkCore

MySql MySql.Data.EntityFrameworkCore

PostgreSQL Npgsql.EntityFrameworkCore.PostgreSQL

¿Dónde esta el repositorio de Entity Framework Core?


El código fuente de Entity Framework Core esta alojado en Github. Puedes clonar el código a tu
computadora y explorar los detalles del código fuente.

git clone https://github.com/aspnet/EntityFrameworkCore.git

Wide Range Of Quality


Headboards - Shop Online…
See All Single, 3/4, Double,
Anuncio
Anuncio Queen & King Headboards On Sale
Cielo

Open

Adicionalmente se pueden ver los “issues” y realizar contribuciones al código.

https://aspnetcoremaster.com/c%23/entityframeworkcore/dotnet/ef/2018/08/07/introduccion-entityframeworkcore.html 2/8
13/11/2019 Introdución a Entity Framework Core | ASP.NET Core Master

¿Con que lenguajes de programación puedo usar Entity


Framework Core?
Se puede utilizar con los lenguajes C#, Visual Basic y F#.

¿ En qué proyectos puedo usar Entity Framework Core ?


Con cualquier tipo de proyecto de .NET Core y para cualquier tipo de proyecto .NET Framework que
use la version 4.6.1 o superior.

¿Cuál es la relación entre los características de SQL y los de


C#?

SQL Programación orientada a objetos

Base de datos Clase que hereda de DbContext

Tabla Clase DbSet

Columnas Propiedades o campos

Llaves primarias  

Llaves foráneas  

Restricciones  

Store Procedures Query Types

Funciones  

¿ Que debería saber para usar Entity Framework Core ?


Métodos de extensión. Expresiones Lamda LINQ Atributos C# SQL Básico

¿Como se instala Entity Framework Core ?


Se instala mediante paquetes de NuGet lo que lo hacen muy ligero. Y lo puedes hacer mediante la
linea de comandos, la interfaz grafica del gestor de paquetes de Visual Studio o mediante Power
Shell.

https://aspnetcoremaster.com/c%23/entityframeworkcore/dotnet/ef/2018/08/07/introduccion-entityframeworkcore.html 3/8
13/11/2019 Introdución a Entity Framework Core | ASP.NET Core Master

Utiliza un modelo llamado Code Firts en donde se escriben las clases del dominio y a partir de ellas
se crea la base de datos. También es posible crear un modelo a partir de una base de datos
existente.

Claim Your Rewards Today


AnuncioOur friendly sales people take the
hassle out of claiming Your Rewards
Anuncio
PNA Rewards

Open

Cuenta con una interfaz de linea de comandos dotnet ef que permite :

1. Crear y modificar la base de datos


2. Generar clases a partir de una base de datos existentes.
3. Gestionar los cambios a la base de datos.

¿ Cuales son las versiones de Entity Framework Core ?


La ultima version es 2.2 al momento de actualizar este artículo. Cada liberación de una nueva versión
de EF Core va acompañada de un post donde mencionan las nuevas características de la misma.
Actualmente ya esta anunciada la próxima liberación de Entity Framework 3.0 para septiembre de
2019 dentro del evento virtual de 3 días .NET Conf 2019 y para 2020 estará disponible .NET 5.0

https://aspnetcoremaster.com/c%23/entityframeworkcore/dotnet/ef/2018/08/07/introduccion-entityframeworkcore.html 4/8
13/11/2019 Introdución a Entity Framework Core | ASP.NET Core Master

Versión Fecha de lanzamiento Detalles

3.0 septiembre 2019  

2.2 04 Diciembre 2018 Announcing Entity Framework Core 2.2

2.1 30 Mayo 2018 Announcing Entity Framework Core 2.1

2.0 14 Agosto 2017 Announcing Entity Framework Core 2.0

1.1 16 Noviembre 2016 Announcing Entity Framework Core 1.1

1.0 27 Junio 2016 Announcing Entity Framework Core 1.0

¿Cuales son los principales componentes de Entity Framework


Core?
Entity framework Core utiliza los siguientes espacios de nombres

Microsoft.EntityFrameworkCore
System.ComponentModel.DataAnnotations.Schema
System.ComponentModel.DataAnnotations

Las clases principales son DbContext y DbSet

Ejemplo Simple: Crear una tabla en un gestor de bases de datos.


El siguiente ejemplo se crea una clase llamada Producto a partir de aquí se muestra la tabla creada
en en SQL Server, SQLite, MySql, PostgreSQL y Firebird.

Proyecto
Se utilizara un proyecto de consola para mostrar el funcionamiento básico de Entity Framework
Core. Se especifican los pasos para crearlo mediante la linea de comandos

1. Crear una solución dentro de la carpeta IntroEfCore

dotnet new sln -o IntroEfCore

1. Abrir la carpeta IntroEFCore cd IntroEFCore y crear un proyecto de consola especificando la


opción -o para definir el directorio del proyecto.

https://aspnetcoremaster.com/c%23/entityframeworkcore/dotnet/ef/2018/08/07/introduccion-entityframeworkcore.html 5/8
13/11/2019 Introdución a Entity Framework Core | ASP.NET Core Master

dotnet new console -o EFCoreSimple

1. Agregar el proyecto a la solución

dotnet sln add EFCoreSimple/EFCoreSimple.csproj

1. Agregar los paquetes de Nuget de Entity Framework.

dotnet add EFCoreSimple/EFCoreSimple.csproj package Microsoft.EntityFrameworkCore


dotnet add EFCoreSimple/EFCoreSimple.csproj package Microsoft.EntityFrameworkCore.Des
dotnet add EFCoreSimple/EFCoreSimple.csproj package Microsoft.EntityFrameworkCore.Rel

1. (Opcional) Si deseas probar con distintas bases de datos debes instalar el paquete de Nuget del
proveedores correspondiente.

Para Sql Server

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

Para MySQL

dotnet add package Pomelo.EntityFrameworkCore.MySql

Para SQLite

dotnet add package Microsoft.EntityFrameworkCore.Sqlite

Para PostgresSqL

dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL

1. Abrir Visual Studio Code. Si así lo deseas puedes continuar con Visual Studio 2017 solo debes
abrir la solución creada en el punto 1.

code .

El código
1. Agregar un archivo llamado Producto.cs y colocar el siguiente código.

public class Producto


{
https://aspnetcoremaster.com/c%23/entityframeworkcore/dotnet/ef/2018/08/07/introduccion-entityframeworkcore.html 6/8
13/11/2019 Introdución a Entity Framework Core | ASP.NET Core Master

public int ProductId { get; set; }


public string Nombre { get; set; }
public bool Disponible { get; set; }
public int CategoriaId { get; set; }
public decimal Price { get; set; }
}

Solar Power Cam Farm Security


Anuncio Solar Camera for Farm Security -
High Resolution HD Recording and…
Anuncio
Spytek Surveillance

Open

1. Agregar un archivo llamado ProductoContext.cs y crear una clase que herede de DbContext
con el siguiente código.

public class ProductContext : DbContext

{
public DbSet<Producto> Productos { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Data Source=.;Initial Catalog=EfCoreDb;Integ
base.OnConfiguring(optionsBuilder);
}
}

1. Ejecutar el comando dotnet para aplicar una migración

dotnet add migration

Para llevar
Modelo Anémico

Repository

Unit of Work

Lazy Loading

https://aspnetcoremaster.com/c%23/entityframeworkcore/dotnet/ef/2018/08/07/introduccion-entityframeworkcore.html 7/8
13/11/2019 Introdución a Entity Framework Core | ASP.NET Core Master

Compartir:
facebook twitter linkedin

ASP.NET Core Master jahbenjah


benjamin-camacho-castro
Benjamin Camacho
jbenjamincc
benjamin@aspnetcoremaster.com

Sitio dedicado a temas de programación usando C# ,ASP.NET Core, Entity Framework Core y Sql Server.

https://aspnetcoremaster.com/c%23/entityframeworkcore/dotnet/ef/2018/08/07/introduccion-entityframeworkcore.html 8/8

Você também pode gostar