none
como actulizar modelo.tt en entity framework RRS feed

  • Pregunta

  • hola saludos a la comunidad. 

    tengo el siguiente problema..

    tengo una base de datos en sql. con sus tablas y procedimientos almacenados...

    agregue el elemento ADO.NET Entity Data Model al proyecto, el cual trae todas las tablas que ocupo y los procedimientos almacenados, hasta ahí todo bien.

    puedo trabajar con las clases que representan a las tablas de la base de datos, se pueden hacer las operaciones básicas alta,edición,eliminación... sin ningún problema...

    pero si cambio algo en algún procedimiento almacenado, o agrego un nuevo procedimiento almacenado, este no me aparece en las opciones para utilizarlo en el código, ya probé con la opción de importación de función, y si me crea la nueva función pero al llamarla en mi código no me aparece...  

    por eso la pregunta de como actualizar el modelo que representa a esa base de datos...

    alguna idea de como mandar llamar el procedimiento almacenado?????

    de antemano gracias por sus respuestas...


    LOWELLPELIKNO

    miércoles, 15 de octubre de 2014 19:25

Respuestas

  • Me referia a los archivos tt. A las Plantillas.

    Una vez que las modificas con código puede llegar a no funcionarte correctamente. A eso me referia.

    Inclusive haciendo Update From Database puede dejar de compilar o compila pero da error el contexto al ejecutar.

    Los pasos para agregar un SP en EF son los siguientes:

    1) Boton derecho en el designer del EDMX, update model from database. Selecciono los SP a utilizar. Finish

    2) En el Model Browser buscas la carpeta stored procedures. Sobre el SP que quiero utilizar hago botón derecho agregar function import.

    3) Te pide nombre de función, y nombre del SP. Debajo tienes una serie de radiobuttons que te indican que debe devolver como tipo de datos. Te conviene aquí crear un nuevo complex type que va a ser un tipo que coincide con la respuesta del SP.

    4) Esto crea un Function Import, que es lo que utilizas después haciendo Context.FunctionImportAUtilizar(parámetros)

    Saludos,

    Daniel Salazar


    MCTS - MCP - MST - New Technologies Evangelist

    lunes, 20 de octubre de 2014 19:28

Todas las respuestas

  • Hola,

    Estas utilizando CodeFirst?

    Lo normal es agregar tus tablas y SP al EDMX que es el archivo de EF. Cuando efectúes un cambio en la base... y esto si no estas usando CodeFirst, simplemente abres el EDMX normalmente, te aparece el designer. En algún lugar libre de la pantalla del designer presionas botón derecho. Aparece la opción de Actualizar modelo desde base de datos. Voila!

    Eso debería ser todo. Si ya tocaste los archivos de plantillas T4 deberías volver a crear el EDMX para evitarte problemas futuros y hacer que compile correctamente.

    Saludos y happy EDMX!

    Daniel S.


    MCTS - MCP - MST - New Technologies Evangelist

    miércoles, 15 de octubre de 2014 20:55
  • Hola,

    Estas utilizando CodeFirst?

    Lo normal es agregar tus tablas y SP al EDMX que es el archivo de EF. Cuando efectúes un cambio en la base... y esto si no estas usando CodeFirst, simplemente abres el EDMX normalmente, te aparece el designer. En algún lugar libre de la pantalla del designer presionas botón derecho. Aparece la opción de Actualizar modelo desde base de datos. Voila!

    Eso debería ser todo. Si ya tocaste los archivos de plantillas T4 deberías volver a crear el EDMX para evitarte problemas futuros y hacer que compile correctamente.

    Saludos y happy EDMX!

    Daniel S.


    MCTS - MCP - MST - New Technologies Evangelist

    hola Daniel gracias por responder...

    codefirts es que primero cree las clases en c# y luego envase a eso cree la base de datos???

    entonces no.. 

    primero cree la base de datos y después cree las clases o el modelo...

    las opciones que me dices ya las intente y no me funciona... 

    esto me dejo con pendiente... que son esas plantillas T4 y donde estan???

    Eso debería ser todo. Si ya tocaste los archivos de plantillas T4 deberías volver a crear el EDMX para evitarte problemas futuros y hacer que compile correctamente.


    LOWELLPELIKNO

    miércoles, 15 de octubre de 2014 21:04
  • Me referia a los archivos tt. A las Plantillas.

    Una vez que las modificas con código puede llegar a no funcionarte correctamente. A eso me referia.

    Inclusive haciendo Update From Database puede dejar de compilar o compila pero da error el contexto al ejecutar.

    Los pasos para agregar un SP en EF son los siguientes:

    1) Boton derecho en el designer del EDMX, update model from database. Selecciono los SP a utilizar. Finish

    2) En el Model Browser buscas la carpeta stored procedures. Sobre el SP que quiero utilizar hago botón derecho agregar function import.

    3) Te pide nombre de función, y nombre del SP. Debajo tienes una serie de radiobuttons que te indican que debe devolver como tipo de datos. Te conviene aquí crear un nuevo complex type que va a ser un tipo que coincide con la respuesta del SP.

    4) Esto crea un Function Import, que es lo que utilizas después haciendo Context.FunctionImportAUtilizar(parámetros)

    Saludos,

    Daniel Salazar


    MCTS - MCP - MST - New Technologies Evangelist

    lunes, 20 de octubre de 2014 19:28