Primeros pasos con Entity Framework

Instalación del paquete NuGet de Entity Framework

En su Visual Studio, abra la ventana Solution Explorer, luego haga clic con el botón derecho en su proyecto y luego seleccione Administrar paquetes NuGet en el menú:

Gestionar paquetes nuget

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

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí

Luego haga clic en Instalar.

También podemos instalar el marco de la entidad usando la consola del administrador de paquetes. Para hacerlo, primero debe abrirlo usando el menú Herramientas -> Administrador de paquetes NuGet -> Consola del administrador de paquetes y luego ingrese esto:

Install-Package EntityFramework

ingrese la descripción de la imagen aquí

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

Uso de Entity Framework desde C# (Código primero)

El código primero le permite crear sus entidades (clases) sin usar un diseñador de GUI o un archivo .edmx. Se llama Code first, porque puede crear sus modelos first y Entity framework creará una base de datos de acuerdo con las 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 Planeta con la propiedad Nombre con el valor de "Jupiter" y la propiedad AverageDistanceFromSun con el valor de 778.5

Luego podemos agregar este Planeta al contexto usando el método Add() de DbSet y enviar 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.

El marco de la entidad es un marco de mapeo de objetos/relaciones (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 a la base de datos relacional como MS SQL Server, de forma automatizada, sin mucha programación. O/RM incluye tres partes principales:

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

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