mvc framework first example español curso c# entity-framework

c# - framework - Marco de la entidad-Generación de clases



entity framework database first (4)

Tengo una base de datos existente. Esperaba que hubiera una forma de generar archivos de clase desde esta base de datos. Sin embargo, parece que veo mucho generar la base de datos a partir de los archivos de clase.

¿Hay alguna forma de generar archivos de clase a partir de una base de datos existente utilizando Entity Framework? ¿Si es así, cómo? ¿Alguien puede indicarme un tutorial?


  1. Abra el modelo EDMX
  2. Haga clic derecho -> Actualizar modelo desde el navegador -> Procedimiento almacenado -> Seleccione su procedimiento almacenado -> Finalizar
  3. Vea el Navegador de modelos que aparece junto al Explorador de soluciones.
  4. Vaya a Importaciones de funciones -> haga clic con el botón derecho en su procedimiento almacenado -> Agregar importación de funciones
  5. Seleccione las entidades en Volver a una colección de -> Seleccione su nombre de entidad en el menú desplegable
  6. Construye tu solución


Encontré una solución muy agradable. Microsoft lanzó una versión beta de Entity Framework Power Tools: Entity Framework Power Tools Beta 2

Allí puede generar clases de POCO, derivación de DbContext y Code First para una base de datos existente con algunos clics. ¡Es muy bonito!

Después de la instalación, se agregarán algunas opciones de menú contextual a su Visual Studio.

Haga clic derecho en un proyecto de C #. Elija Entity Framework-> Reverse Engineer Code First (Genera clases POCO, deriva DbContext y Code First mapping para una base de datos existente):

A continuación, elija su base de datos y haga clic en Aceptar. ¡Eso es todo! Es muy fácil.


1) Primero necesitas generar EDMX modelo EDMX usando tu base de datos. Para hacerlo, debes agregar un nuevo elemento a tu proyecto:

  • Seleccione ADO.NET Entity Data Model de la lista de plantillas.
  • En la página Elegir contenido del modelo, seleccione la opción Generar desde la base de datos y haga clic en Siguiente.
  • Elige tu base de datos
  • En la página Elegir los objetos de su base de datos, verifique las tablas. Elija Vistas o Procedimientos almacenados si lo necesita.

Entonces ahora tiene el archivo Model1.edmx en su proyecto.

2) Para generar clases usando su modelo:

  • Abra su diseñador de modelos EDMX .
  • En la superficie de diseño, haga clic con el botón derecho -> Agregar elemento de generación de código ...
  • Seleccione plantillas en línea.
  • Seleccione EF 4.x DbContext Generator for C# .
  • Haga clic en ''Agregar''.

Observe que se agregaron dos elementos a su proyecto:

  • Model1.tt (Esta plantilla genera clases de POCO muy simples para cada entidad en su modelo)
  • Model1.Context.tt (Esta plantilla genera un DbContext derivado para usar para consultas y datos persistentes)

3) Ejemplo de lectura / escritura de datos:

var dbContext = new YourModelClass(); //class derived from DbContext var contacts = from c in dbContext.Contacts select c; //read data contacts.FirstOrDefault().FirstName = "Alex"; //edit data dbContext.SaveChanges(); //save data to DB

No olvide que necesita la versión 4.x de EntityFramework. Puede descargar EF 4.1 aquí: Entity Framework 4.1 .