Cómo asignar funciones de modificación a procedimientos almacenados

En este tema se describe cómo utilizar ADO.NET Entity Data Model Designer (Entity Designer) para asignar a procedimientos almacenados las operaciones de inserción, actualización y eliminación de un tipo de entidad.

Entity Framework genera una clase derivada de ObjectContext que representa el contenedor de entidades definido en el modelo conceptual. (El nombre de la clase derivada es el nombre de EntityContainer en el archivo de modelo conceptual). Esta clase expone un método SaveChanges que desencadena actualizaciones en la base de datos subyacente. Estas actualizaciones pueden utilizar las instrucciones SQL que genera automáticamente el sistema (de forma predeterminada) o procedimientos almacenados que el programador especifica. El código de aplicación que se emplea para crear, actualizar y eliminar las entidades es el mismo tanto si se utilizan procedimientos almacenados para actualizar la base de datos como si no.

Al asignar las operaciones de inserción, actualización y eliminación de un tipo de entidad a los procedimientos almacenados, debe hacer lo siguiente:

  • Asignar las tres operaciones a los procedimientos almacenados.

  • Asignar las asociaciones de forma coherente. Si un procedimiento almacenado se asigna a una asociación para una operación, las otras dos operaciones también deben asignarse a la asociación.

  • Asignar a procedimientos almacenados las entidades relacionadas que tengan una relación uno a uno. Si la entidad se relaciona con otras entidades mediante una relación uno a varios o varios a varios, no tiene que asignar a procedimientos almacenados las entidades relacionadas.

Asignar la operación de inserción a un procedimiento almacenado

Para asignar la operación de inserción a un procedimiento almacenado

  1. Haga doble clic en el archivo <nombre de modelo>.edmx en el Explorador de soluciones.

    El archivo se abre en Entity Designer.

  2. Haga clic con el botón secundario en el tipo de entidad para el que desea asignar la operación de inserción.

  3. Seleccione Asignaciones de procedimientos almacenados.

    Aparece el panel Asignar a funciones de entidad de la ventana Detalles de la asignación.

  4. Haga clic en <Seleccionar Insert Function>.

  5. En la lista desplegable, seleccione el procedimiento almacenado al que se asignará la operación de inserción.

    La ventana se rellena con las asignaciones predeterminadas entre las propiedades de entidad y los parámetros del procedimiento almacenado.

  6. Para cada parámetro de procedimiento almacenado, modifique la asignación según convenga haciendo clic en el campo de propiedades correspondiente y seleccionando la propiedad adecuada en la lista desplegable.

    Nota

    Todas las claves de entidad deben tener asignaciones. Si el procedimiento almacenado utiliza una instrucción INSERT, la clave de entidad generalmente se asignará a la clave principal que se creó cuando se insertó la fila nueva. Los pasos siguientes describen cómo asignar a las propiedades de entidad los datos que el procedimiento almacenado devuelve.

  7. Haga clic en <Agregar Result Binding>.

    El campo se puede modificar.

  8. Escriba el nombre del parámetro que contiene los datos que devolvió el procedimiento almacenado.

  9. Haga clic en el campo de propiedades que corresponde al nombre de parámetro.

    El campo se convierte en una lista desplegable de propiedades.

  10. Seleccione la propiedad a la que desea asignar los datos devueltos.

  11. Repita los pasos 7 a 10 para cada valor devuelto y propiedad sin asignar.

La operación de inserción para el tipo de entidad seleccionado está asignada ahora a un procedimiento almacenado.

Asignar la operación de actualización a un procedimiento almacenado

Para asignar la operación de actualización a un procedimiento almacenado

  1. Haga doble clic en el archivo <nombre de modelo>.edmx en el Explorador de soluciones.

    El archivo se abre en Entity Designer.

  2. Haga clic con el botón secundario en el tipo de entidad para el que desea asignar la operación de actualización.

  3. Seleccione Asignaciones de procedimientos almacenados.

    Aparece el panel Asignar a funciones de entidad de la ventana Detalles de la asignación.

  4. Haga clic en <Seleccionar Update Function>.

  5. En la lista desplegable, seleccione el procedimiento almacenado al que se asignará la operación de actualización.

    La ventana se rellena con las asignaciones predeterminadas entre las propiedades de entidad y los parámetros del procedimiento almacenado.

  6. Para cada parámetro de procedimiento almacenado, modifique la asignación según convenga haciendo clic en el campo de propiedades correspondiente y seleccionando la propiedad adecuada en la lista desplegable.

  7. Si lo desea, puede activar para cada propiedad en el cuadro de la columna Usar valor original.

    La opción Usar valor original le permite utilizar el control de simultaneidad. Si la opción Usar valor original se selecciona para una propiedad, el valor de la propiedad que se leyó de la base de datos se pasará al parámetro de procedimiento almacenado especificado. Observe que ambos valores, el original y el actual, de una propiedad se pueden pasar a parámetros diferentes.

    Nota

    Al asignar la operación de actualización, puede asignar a las propiedades de entidad los datos que devolvió el procedimiento almacenado. Los pasos siguientes describen cómo asignar a las propiedades de entidad los datos que el procedimiento almacenado devuelve.

  8. Haga clic en <Agregar Result Binding>.

    El campo se puede modificar.

  9. Escriba el nombre del parámetro que contiene los datos que devolvió el procedimiento almacenado.

  10. Haga clic en el campo de propiedades que corresponde al nombre de parámetro.

  11. En la lista desplegable, seleccione la propiedad a la que desea asignar los datos devueltos.

  12. Opcionalmente, repita los pasos 8 a 11 con cada valor devuelto.

La operación de actualización para el tipo de entidad seleccionado está asignada ahora a un procedimiento almacenado.

Asignar la operación de eliminación a un procedimiento almacenado

Para asignar la operación de eliminación a un procedimiento almacenado

  1. Haga doble clic en el archivo <nombre de modelo>.edmx en el Explorador de soluciones.

    El archivo se abre en Entity Designer.

  2. Haga clic con el botón secundario en el tipo de entidad para el que desea asignar la operación de eliminación.

  3. Seleccione Asignaciones de procedimientos almacenados.

    Aparece el panel Asignar a funciones de entidad de la ventana Detalles de la asignación.

  4. Haga clic en <Seleccionar Delete Function>.

  5. En la lista desplegable, seleccione el procedimiento almacenado al que se asignará la operación de eliminación.

    La ventana se rellena con las asignaciones predeterminadas entre las propiedades de entidad y los parámetros del procedimiento almacenado.

  6. Para cada parámetro de procedimiento almacenado, modifique la asignación según convenga haciendo clic en el campo de propiedades correspondiente y seleccionando la propiedad adecuada en la lista desplegable.

    Nota

    Debe asignar las asociaciones a los parámetros de procedimiento almacenado. Las asociaciones están disponibles para seleccionarse en la lista desplegable de propiedades.

Vea también

Tareas

Tutorial: asignar una entidad a procedimientos almacenados

Otros recursos

Compatibilidad con los procedimientos almacenados (Entity Framework)
Código de aplicación para procedimientos almacenados asignados (Entity Framework)