{"id":202,"date":"2017-03-16T18:40:00","date_gmt":"2017-03-16T18:40:00","guid":{"rendered":"https:\/\/www.mainmind.com\/blog\/?p=202"},"modified":"2021-11-14T22:35:17","modified_gmt":"2021-11-14T22:35:17","slug":"actualizar-modelo-edmx-con-los-cambios-de-la-base-de-datos","status":"publish","type":"post","link":"https:\/\/www.mainmind.com\/blog\/actualizar-modelo-edmx-con-los-cambios-de-la-base-de-datos\/","title":{"rendered":"Actualizar modelo .edmx con los cambios de la base de datos"},"content":{"rendered":"<p>La realizaci\u00f3n de cambios en la base de datos debe reflejarse dentro del modelo generado en Visual Studio. Desde un cambio m\u00ednimo, por ejemplo un campo de una tabla determinada pasa a admitir valores nulos, a cualquier otro complejo de adici\u00f3n\/modificaci\u00f3n\/eliminaci\u00f3n de tablas, referencias, triggers, procedimientos, relaciones&#8230;<\/p>\n<p>1.- Abrimos nuestro archivo edmx con el editor predeterminado de Visual Studio: <a href=\"https:\/\/msdn.microsoft.com\/es-es\/library\/cc716685%28v=vs.100%29.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">ADO.NET Entity Data Model Designer<\/a> y pulsamos con el bot\u00f3n derecho sobre una zona libre en la opci\u00f3n \u00abUdate Model from Database\u00bb<\/p>\n<p><img decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"\/blog\/wp-content\/uploads\/\/2017\/VisualStudio\/update_edmx.jpg\" alt=\"\"><\/p>\n<p>2.- Una vez que tenemos nuestro modelo reflejado, actualizamos el fichero con extensi\u00f3n \u00abIntranetModel.TT\u00bb pulsando con el bot\u00f3n derecho sobre ellos y seleccionado \u00abRun custom tool\u00bb<\/p>\n<p><img decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"\/blog\/wp-content\/uploads\/\/2017\/VisualStudio\/update_edmx_02.jpg\" alt=\"\"><\/p>\n<p>3.- Lanzamos \u00abRun custom tool\u00bb sobre el fichero \u00abIntranetModel.context.TT\u00bb<\/p>\n<p>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 \u00ab<a href=\"https:\/\/msdn.microsoft.com\/es-es\/library\/bb738483(v=vs.100).aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Model browser<\/a>\u00ab.<\/p>\n<p><strong>NOTA 1<\/strong>: Si a pesar de ello, no se reflejan los cambios, podemos eliminar ambos ficheros y volver a a\u00f1adir \u00abAdd code generation item\u00bb seleccionando la versi\u00f3n correspondiente de \u00abEF 6.x DbContext Generator\u00bb<\/p>\n<p><strong>NOTA 2<\/strong>: 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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La realizaci\u00f3n de cambios en la base de datos debe reflejarse dentro del modelo generado en Visual Studio. Desde un cambio m\u00ednimo, por ejemplo un campo de una tabla determinada pasa a admitir valores nulos, a cualquier otro complejo de adici\u00f3n\/modificaci\u00f3n\/eliminaci\u00f3n de tablas, referencias, triggers, procedimientos, relaciones&#8230; 1.- Abrimos nuestro archivo edmx con el editor [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,15],"tags":[441,440,439,438,205],"class_list":["post-202","post","type-post","status-publish","format-standard","hentry","category-bases-de-datos","category-visual-studio","tag-context","tag-database","tag-edmx","tag-entity-data-model","tag-visual-studio"],"_links":{"self":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/comments?post=202"}],"version-history":[{"count":0,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/202\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/media?parent=202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/categories?post=202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/tags?post=202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}