2011-05-12 18 views
38

Estoy usando Entity Framework (EF) para crear un tipo complejo a partir de un procedimiento almacenado. Recientemente, el procedimiento almacenado cambió (se agregaron más valores de devolución. Me gustaría actualizar el tipo complejo que se correlaciona con este procedimiento almacenado. ¿Es posible y, en caso afirmativo, cómo? Actualmente, elimino la función de importación y el tipo complejo cada vez que . almacenada cambios en el procedimiento, lo que es más probable no es el mejor enfoque¿Cómo obtengo Entity Framework para actualizar los tipos complejos?

Respuesta

101

he encontrado otra manera de hacer esto sin borrar el tipo complejo puede actualizar el tipo de complejo y Visual Studio agregará las columnas modificados he aquí cómo:..

  1. Abra su archivo .edmx y vaya al explorador de modelos
  2. Si su proceso almacenado cambió, haga clic con el botón derecho en cualquier área blanca en el navegador de modelos y seleccione Actualizar modelo de base de datos, haga clic en "Finalizar". Esto actualizará su procedimiento almacenado.
  3. Ahora profundice en XModel.edmx> XModel> EntityContainer: XEntities> Function Imports (X es el nombre de su entidad) y haga clic con el botón derecho en el que necesite actualizar. Seleccione Editar.
  4. Haga clic en "Obtener información de columna". Ahora, junto al botón de opción Tipo complejo, hay un botón Actualizar. Presione esto para actualizar su tipo complejo y luego presione el botón OK.

¡Eso debería hacerlo!

+0

Encontré 'Importaciones de funciones' en el siguiente lugar: 'Foo.edmx/Foo/EntityContainer: FooEntities/Function Imports' –

+7

¡Tan intuitivo! ¿Por qué no pensé en eso?!?! +1 para tus habilidades de exploración VS, Halcyon. Muchas gracias. –

+2

No es necesario hacer clic en "Obtener información de columna", hacer clic en "Actualizar" solo hará lo mismo. – SlimShaggy

0

hay una manera más fácil de lograr que, mira here al SO. Agrega cierta metainformación al procedimiento almacenado, que EF usa para generar el tipo de devolución apropiado para usted.

La parte meta-información del procedimiento almacenado no se ejecuta, sólo se habla de las columnas y tipos de datos que devuelve.

Cuestiones relacionadas