Entity FrameworkEmpezando con Entity Framework


Observaciones

Entity Framework (EF) es un asignador relacional de objetos (ORM) que permite a los desarrolladores de .NET trabajar con datos relacionales utilizando objetos específicos del dominio. Elimina la necesidad de la mayoría del código de acceso a datos que los desarrolladores generalmente necesitan escribir.

Entity Framework le permite crear un modelo escribiendo código o utilizando cuadros y líneas en el Diseñador EF. Ambos enfoques se pueden utilizar para apuntar a una base de datos existente o crear una nueva base de datos.

Entity Framework es el ORM principal que Microsoft proporciona para .NET Framework y la tecnología de acceso a datos recomendada por Microsoft.

Versiones

Versión Fecha de lanzamiento
1.0 2008-08-11
4.0 2010-04-12
4.1 2011-04-12
4.1 Actualización 1 2011-07-25
4.3.1 2012-02-29
5.0 2012-08-11
6.0 2013-10-17
6.1 2014-03-17
Core 1.0 2016-06-27

Notas de la versión: https://msdn.microsoft.com/en-ca/data/jj574253.aspx

Instalación del paquete Entity Framework NuGet

En su Visual Studio, abra la ventana del Explorador de soluciones y luego haga clic con el botón derecho en su proyecto, luego elija Administrar paquetes NuGet en el menú:

Administrar paquetes nuget

En la ventana que se abre, escriba EntityFramework en el cuadro de búsqueda en la parte superior derecha.

introduzca la descripción de la imagen aquí

O si está utilizando Visual Studio 2015 verá algo como esto:

introduzca la descripción de la imagen aquí

Luego haga clic en Instalar.

También podemos instalar el framework de entidades utilizando la consola del administrador de paquetes. Para hacerlo, primero debe abrirlo utilizando el menú Herramientas -> NuGet Package Manager -> Package Manager Console y luego ingrese esto:

Install-Package EntityFramework
 

introduzca la descripción de la imagen aquí

Esto instalará Entity Framework y agregará automáticamente una referencia al ensamblaje en su proyecto.

Usando Entity Framework desde C # (Primero el Código)

El código primero le permite crear sus entidades (clases) sin usar un diseñador de GUI o un archivo .edmx. Primero se llama Código , porque puede crear sus modelos primero y Entity framework creará la base de datos según sus asignaciones automáticamente. O también puede usar este enfoque con la base de datos existente, que se llama código primero con la base de datos existente. Por ejemplo, si desea que una tabla contenga una lista de planetas:

public class Planet
{
    public string Name { get; set; }
    public decimal AverageDistanceFromSun { get; set; }
}
 

Ahora cree su contexto, que es el puente entre sus clases de entidad y la base de datos. Dale una o más propiedades DbSet<> :

using System.Data.Entity;

public class PlanetContext : DbContext
{
    public DbSet<Planet> Planets { get; set; }
}
 

Podemos usar esto haciendo lo siguiente:

using(var context = new PlanetContext())
{
    var jupiter = new Planet 
    {
        Name = "Jupiter", 
        AverageDistanceFromSun = 778.5
    };

    context.Planets.Add(jupiter);
    context.SaveChanges();
}
 

En este ejemplo, creamos un nuevo Planet con la propiedad Name con el valor de "Jupiter" y la propiedad AverageDistanceFromSun con el valor de 778.5

Luego podemos agregar este Planet al contexto usando el DbSet Add() DbSet y confirmar nuestros cambios a la base de datos usando el método SaveChanges() .

O podemos recuperar filas de la base de datos:

using(var context = new PlanetContext())
{
    var jupiter = context.Planets.Single(p => p.Name == "Jupiter");
    Console.WriteLine($"Jupiter is {jupiter.AverageDistanceFromSun} million km from the sun.");
}
 

¿Qué es Entity Framework?

Escribir y administrar el código ADO.Net para el acceso a datos es un trabajo tedioso y monótono. Microsoft ha proporcionado un marco O / RM llamado "Entity Framework" para automatizar las actividades relacionadas con la base de datos para su aplicación.

Entity framework es un marco Object / Relational Mapping (O / RM). Es una mejora de ADO.NET que brinda a los desarrolladores un mecanismo automatizado para acceder y almacenar los datos en la base de datos.

¿Qué es O / RM?

ORM es una herramienta para almacenar datos de objetos de dominio en la base de datos relacional como MS SQL Server, de manera automatizada, sin mucha programación. O / RM incluye tres partes principales:

  1. Objetos de clase de dominio
  2. Objetos de base de datos relacionales
  3. Información de asignación sobre cómo los objetos de dominio se asignan a objetos de base de datos relacionales (por ejemplo , tablas, vistas y procedimientos almacenados)

ORM nos permite mantener el diseño de nuestra base de datos separado de nuestro diseño de clase de dominio. Esto hace que la aplicación sea mantenible y extensible. También automatiza la operación estándar de CRUD (Crear, Leer, Actualizar y Eliminar) para que el desarrollador no tenga que escribirlo manualmente.