Tutorial: cambia la base de datos para EF Database First con la aplicación MVC de ASP.NET

Mediante MVC, Entity Framework y el scaffolding de ASP.NET, puede crear una aplicación web que proporcione una interfaz a una base de datos existente. En esta serie de tutoriales se muestra cómo generar código automáticamente que permita a los usuarios mostrar, editar, crear y eliminar datos que residen en una tabla de base de datos. El código generado corresponde a las columnas de la tabla de base de datos.

Este tutorial se centra en realizar una actualización de la estructura de la base de datos y propagar ese cambio en toda la aplicación web.

En este tutorial, hizo lo siguiente:

  • Agregar una columna
  • Agregar la propiedad a las vistas

Requisitos previos

Agregar una columna

Si actualiza la estructura de una tabla en la base de datos, debe asegurarse de que el cambio se propaga al modelo de datos, las vistas y el controlador.

En este tutorial agregará una nueva columna a la tabla Student para registrar el nombre intermedio del alumno. Para agregar esta columna, abra el proyecto de base de datos y abra el archivo Student.sql. Mediante el diseñador o el código T-SQL, agregue una columna denominada MiddleName que sea NVARCHAR(50) y permita valores NULL.

Implemente este cambio en la base de datos local iniciando el proyecto de base de datos (o F5). El nuevo campo se agrega a la tabla. Si no lo ve en el Explorador de objetos de SQL Server haga clic en el botón Actualizar del panel.

show new column

La nueva columna existe en la tabla de base de datos, pero no existe actualmente en la clase de modelo de datos. Debe actualizar el modelo para incluir la nueva columna. En la carpeta Models, abra el archivo ContosoModel.edmx para mostrar el diagrama del modelo. Observe que el modelo Student no contiene la propiedad MiddleName. Haga clic con el botón derecho en cualquier parte en la superficie de diseño y seleccione Actualizar modelo de la base de datos.

En el Asistente para actualización, seleccione la pestaña Actualizar y, a continuación, seleccione Tablas>dbo>Student. Haga clic en Finalizar

Una vez finalizado el proceso de actualización, el diagrama de base de datos incluye la nueva propiedad MiddleName. Guarde el archivo ContosoModel.edmx. Debe guardar este archivo para que la nueva propiedad se propague a la clase Student.cs. Ahora ha actualizado la base de datos y el modelo.

Compile la solución.

Agregar la propiedad a las vistas

Desafortunadamente, las vistas todavía no contienen la nueva propiedad. Para actualizar las vistas tiene dos opciones: puede volver a generar las vistas agregando una vez más scaffolding para la clase Student, o bien puede agregar manualmente la nueva propiedad a las vistas existentes. En este tutorial volverá a agregar el scaffolding porque no ha realizado ningún cambio personalizado en las vistas generadas automáticamente. Es posible que considere la posibilidad de agregar manualmente la propiedad cuando haya realizado cambios en las vistas y no quiera perder esos cambios.

Para asegurarse de que las vistas se vuelven a crear, elimine la carpeta Students en Vistas y elimine StudentsController. A continuación, haga clic con el botón derecho en la carpeta Controladores y agregue scaffolding para el modelo Student. De nuevo, asigne al controlador el nombre StudentsController. Seleccione Agregar.

Vuelva a compilar la solución. Las vistas ahora contienen la propiedad MiddleName.

show middle name

Pasos siguientes

En este tutorial ha:

  • Se agregó una columna.
  • Se agregó la propiedad a las vistas.

Pase al siguiente tutorial para aprender a personalizar la vista para mostrar detalles sobre un registro de alumno.