Actualizar modelo .edmx con los cambios de la base de datos

La realización de cambios en la base de datos debe reflejarse dentro del modelo generado en Visual Studio. Desde un cambio mínimo, por ejemplo un campo de una tabla determinada pasa a admitir valores nulos, a cualquier otro complejo de adición/modificación/eliminación de tablas, referencias, triggers, procedimientos, relaciones…

1.- Abrimos nuestro archivo edmx con el editor predeterminado de Visual Studio: ADO.NET Entity Data Model Designer y pulsamos con el botón derecho sobre una zona libre en la opción «Udate Model from Database»

2.- Una vez que tenemos nuestro modelo reflejado, actualizamos el fichero con extensión «IntranetModel.TT» pulsando con el botón derecho sobre ellos y seleccionado «Run custom tool»

3.- Lanzamos «Run custom tool» sobre el fichero «IntranetModel.context.TT»

En el caso de haber cambiado el namespace o el nombre del proyecto, deberemos renombrarlos de nuevo en el archivo CS correspondiente del context de la clase. Tambien es posible realizar cambios parciales en partes concretar del modelado desde «Model browser«.

NOTA 1: Si a pesar de ello, no se reflejan los cambios, podemos eliminar ambos ficheros y volver a añadir «Add code generation item» seleccionando la versión correspondiente de «EF 6.x DbContext Generator»

NOTA 2: En ocasiones al actualizar un tipo de dato, es posible que no se refleje correctamente en el modelo EDMX, por ejemplo, el paso de un campo de string a bintint (int64). Revise manualmente los posibles cambios y vuelve a realizar el proceso.

Visual Studio sin Internet Information Server

Al iniciarse en el mundo de la programación de la mano de Visual Studio, los errores iniciales pueden ser sencillos de resolver. En este caso tras una instalación de las herramientas de desarrollo de Microsoft, al crear la más simple de las páginas web, totalmente en blanco obtenemos un error:

System.ArcumentOutOfRangeException: El argumento especificado está fuera del intervalo de valores válidos.

Lo que a primera vista no tiene demasiado sentido para una página en blanco, sin acceso a ningún tipo de array de elementos. Observando más en detenimiento el seguimiento de la pila, podemos encontrar los detalles que nos orientaran en la resolución:

System.Web.HttpRuntime.HostingInit(HostingEnvironmentsFlags hostingFlags, PolicyLevel policyLevel, Exception appDomainCreationException) ... HttpException (0x80004005)

Con lo que podemos intuir que los problemas vienen del entorno local de pruebas del servidor web de Visual Studio. En este caso una de las opciones más sencillas es añadirlo desde las características de nuestro Windows 8, añadiendo el servidor web IIS (Servicios World Wide Web)

IIS en Windows 8.1