Preguntas frecuentes Entity Framework Core
A continuación un serie de preguntas y respuestas que pueden servir como introducción para conocer este framework.
¿Cómo ejecutar un procedimiento almacenado con Entity Framework Core?
Hay varias formas de ejecutar un procedimiento de almacenado con Entity Framework Core. La forma que es más adecuada depende del tipo de retorno del procedimiento almacenado. La siguiente lista muestra las formas más comunes
- Usando el método de extension FromSql
- Usando el método de extension ExecuteSqlCommand de la propiedad Database o su versión asíncrona
- Usando los tipos de consulta
Para más detalles ver el ejemplo de código más abajo
Usando FromSql
var entidades = _context.Entidad
.AsNoTracking()
.FromSql($"exec dbo.ReadAllEntities")
.ToList();
Usando ExecuteSqlCommand
var afectados = context.Database
.ExecuteSqlCommand($"exec dbo.tuProcedimiento @Id={id}");
Usado los tipos de consulta
public partial class MyContext : DbContext
{
public MyContext()
{
}
public MyContext(DbContextOptions<MyContext> options)
: base(options)
{
}
public virtual DbSet<Empleado> Empleados { get; set; }
public DbQuery<InfoEmpleado> InfoEmpleado { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Query<InfoEmpleado>(entity =>
{
entity.ToQuery(() => InfoEmpleado
.FromSql("dbo.GetEmpleadoInfo"));
entity.Property(e => e.Id).HasColumnName("empleado_id");
//...
});
}
}
¿Con qué 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
Adicionalmente se pueden ver los "issues" y realizar contribuciones al código.
¿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.
¿Con qué lenguajes de programación puedo usar Entity Framework Core?
Se puede utilizar con los lenguajes C#, Visual Basic y F#.
¿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 |
¿Qué debería saber para usar Entity Framework Core ?
- Métodos de extensión.
- Expresiones Lamda
- LINQ
- Atributos C#
- SQL Básico
¿Cuáles 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
¿Cuáles son las versiones de Entity Framework Core ?
La ultima version de Entity Framework Core al momento de actualizar este artículo es la 3.1. 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
Versión | Fecha de lanzamiento | Detalles |
---|---|---|
3.1 | 03 diciembre 2019 | Announcing Entity Framework Core 3.1 and Entity Framework 6.4 |
3.0 | 23 septiembre 2019 | Announcing Entity Framework Core 3.0 and Entity Framework 6.3 General Availability |
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 |
¿Cómo se instala Entity Framework Core ?
Se instala mediante paquetes de NuGet lo que lo hacen muy ligero. Y lo puedes hacer mediante la línea de comandos, la interfaz gráfica del gestor de paquetes de Visual Studio o mediante Power Shell.
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.
Cuenta con una interfaz de linea de comandos dotnet ef
que permite :
- Crear y modificar la base de datos
- Generar clases a partir de una base de datos existentes.
- Gestionar los cambios a la base de datos.