2012-01-20 8 views
9

Estoy usando el marco de entidad para llamar a mis procedimientos almacenados. Estoy realizando el proceso utilizando el asistente de importación de funciones para crear importaciones de funciones y tipos complejos.¿Cómo puedo actualizar automáticamente las importaciones de la función Entity Framework

El problema que tengo es que me gustaría encontrar una manera de actualizar fácilmente todos mis tipos complejos.

Cuando no se almacenan procedimiento de cambio de hoy, mi proceso es:

1.) Actualizar los procedimientos almacenados utilizando el asistente de actualización EF.

2.) Vaya a cada importación de funciones en el navegador modelo y haga clic en editar.

3.) Haga clic en el botón para actualizar el tipo complejo.

4.) Repita este proceso manualmente para todas las más de 100 funciones de mis importaciones.

Este proceso de actualización está muy bien explicado aquí: http://blogs.msdn.com/b/nihitk/archive/2010/04/23/ado-net-entity-designer-in-vs-2010-stored-procedure-return-type-shape-sensing.aspx

¿Alguien sabe cómo esto puede ser automatizado, ya sea a través de una línea de comandos o por medio de algún tipo de macro. No necesito esto para ser parte de un proceso de compilación.

+0

He confirmado que todo lo que realmente necesito hacer es actualizar el modelo. Eso se encargará de la función de importación. Para actualizar los tipos complejos, todo lo que tengo que hacer es hacer clic en el botón de actualización junto al tipo complejo en la pantalla Editar Importación de Pantalla. En mi caso, necesito hacer esto unas 100 veces. – DTig

Respuesta

2

Consulte la herramienta de línea de comandos EdmGen que viene con Entity Framework. Averigua qué conmutadores de línea de comando necesitas para generar un EDMX que contenga las importaciones de tu función (y muy probablemente muchas otras cosas).

Luego escriba un pequeño programa de línea de comandos que use XDocument y LINQ a XML para leer los elementos XML que desee del EDMX generado y luego use la misma técnica para sobrescribir los que están en su EDMX real.

Si desea que este proceso forme parte de la compilación (aunque ralentizará las cosas) agregue estos dos comandos a la configuración de línea de comandos del evento Pre-build de su proyecto en las propiedades del proyecto.

Otros desarrolladores y el servidor de compilación también necesitarían una versión compilada de su nuevo comando de combinación registrado en algún lugar para llamar.

Cuestiones relacionadas