Después de actualizar el modelo de Entity Framework, Visual Studio no ve los cambios


Si hago algún cambio en mi modelo EF 5.0, VS no parece ver los cambios. He intentado agregar una nueva tabla, que aparece bien en el modelo, pero luego si intento usarla en algún lugar, la tabla no aparece en intellisense y no puedo usarla.

También he intentado cambiar los tipos de datos de una columna, que de nuevo se muestra bien si miro el .archivo de modelo edmx, pero visual studio todavía me dará errores de compilador en ese campo porque estoy tratando de asignar el incorrecto tipo de datos.

Si elimino el EDMX completamente y lo recreo, entonces los cambios funcionan bien. pero es tedioso regenerar desde la base de datos cada vez que debería ser capaz de simplemente "actualizar el modelo desde la base de datos" y reconstruir.

Nunca he tenido estos problemas con EF antes. ¿Alguien conoce la causa o la solución de este problema?

Gracias.

Author: marc_s, 2012-11-19

9 answers

Si este es el error con el archivo edmx ubicado en una carpeta, ahora está solucionado: descargue e instale VS 2012 Update 1. Puedes obtenerlo de: http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update

 15
Author: Pawel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-28 07:22:00

Primero construya su Proyecto y si tuvo éxito, apunte el "model.tt" en el contexto. entonces ejecute custom tool. Lo arreglará.

Vuelve a construir tu proyecto y apunta a "model.context.tt" ejecutar herramienta personalizada. actualizará las listas DbSet .

 55
Author: Mahdi Shahbazi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-02 05:53:36

Esto es aparentemente un error en Entity Framework que el modelo no se actualiza cuando su archivo Edmx se encuentra dentro de una carpeta. Las soluciones disponibles en este momento son:

  1. Install VS 2012 Update 1 que debería corregir el error.
  2. Si no está en condiciones de instalar la actualización 1, tendrá que hacer clic derecho en model.tt Archivo de plantilla T4 y haga clic en ejecutar herramienta personalizada. Esto actualizará las clases para usted.

Espero que eso ayude a alguien por ahí.

Enlace: http://thedatafarm.com/blog/data-access/watch-out-for-vs2012-edmx-code-generation-special-case/

 14
Author: Ghlouw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-03 13:34:50

También tuve este problema, sin embargo, haciendo clic derecho en el model.tt archivo y ejecutar " Herramienta personalizada "no hizo ninguna diferencia para mí de alguna manera, pero un comentario en la página Ghlouw vinculado a mencionado para utilizar el elemento de menú" CONSTRUIR > Transformar todas las plantillas T4."que lo hizo por mí

 9
Author: Kristian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-27 12:23:00

Debe tener un archivo <XXX>Model.tt en algún lugar que sea la plantilla T4 que genera sus clases de modelo.

Si está en un proyecto diferente, no se actualizará cuando guarde el archivo edmx.

De todos modos, intente hacer clic derecho en él en el Explorador de soluciones y elegir Run Custom Tool

 7
Author: Nicholas Butler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-19 19:51:38

Busqué esta respuesta porque tuve una situación similar en VS2013. En mi caso, encontré que un simple "Clean Solution" borraba todas las definiciones antiguas.

 3
Author: woodvi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-19 17:09:45

Haga clic derecho en el archivo .tt y seleccione "Ejecutar Herramienta personalizada", que debe actualizarlo: ver imagen

 3
Author: Tshilidzi Mudau,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-13 10:15:29

¿Estás trabajando en un proyecto de N niveles? Si es así, intente reconstruir su capa de datos (o donde esté almacenado su archivo EDMX) antes de usarlo.

 0
Author: Middas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-19 19:42:16

También he experimentado este problema con ninguna de las clases que se generan bajo el model.tt archivo. En mi caso se debió a problemas con cómo había construido la base de datos en SQL2012. Establecería una columna en una tabla a nullable que también era una clave foránea y aunque creo que debería poder hacer esto causó un problema en EF5.

Tan pronto como esto fue borrado y el diagrama actualizado de la base de datos reaparecieron.

EF5 VS2013

 0
Author: CF5,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-01 14:11:41