¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
MSDN Library
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Cómo: Asignar procedimientos almacenados para realizar actualizaciones, inserciones y eliminaciones (Object Relational Designer)

Los procedimientos almacenados se pueden agregar a Object Relational Designer y ejecutar como métodos de DataContext normales. Se pueden usar también con el fin de invalidar el comportamiento predeterminado de LINQ to SQL en tiempo de ejecución para realizar inserciones, actualizaciones y eliminaciones cuando se guardan los cambios de las clases de entidad en una base de datos (por ejemplo, cuando se llama al método SubmitChanges).

Nota Nota

Si el procedimiento almacenado devuelve valores que se deben devolver al cliente (por ejemplo, los valores calculados en el procedimiento almacenado), cree parámetros de salida en los procedimientos almacenados. Si no puede usar parámetros de salida, escriba una implementación de método parcial en lugar de confiar en las invalidaciones generadas por Object Relational Designer. Los miembros asignados a los valores generados por la base de datos deben establecerse en valores adecuados después de que se ejecuten correctamente las operaciones de INSERCIÓN o ACTUALIZACIÓN. Para obtener más información, consulte Responsabilidades del desarrollador en la invalidación del comportamiento predeterminado.

Nota Nota

LINQ to SQL procesa automáticamente los valores generados por la base de datos para columnas identidad (incremento automático), rowguidcol (GUID generado por la base de datos) y columnas con marca de tiempo. Los valores generados por la base de datos de otros tipos de columna producirán inesperadamente un valor nulo. Para devolver los valores generados por la base de datos, debería establecer manualmente IsDbGenerated en true, y AutoSync en una de las siguientes opciones: Always, OnInsert u OnUpdate.

De forma predeterminada, el motor en tiempo de ejecución LINQ to SQL proporciona la lógica para actualizar una base de datos (inserciones, actualizaciones y eliminaciones) con los cambios realizados en los datos de las clases de entidad de LINQ to SQL. El motor en tiempo de ejecución crea comandos predeterminados de inserción, actualización y eliminación basándose en el esquema de la tabla (información de columna y de clave principal). Cuando no se desea usar el comportamiento predeterminado, se puede configurar el comportamiento de actualización asignando procedimientos almacenados concretos para realizar las inserciones, actualizaciones y eliminaciones necesarias para poder manipular los datos en la tabla. También se puede realizar esta acción cuando no se genera el comportamiento predeterminado, por ejemplo, cuando las clases de entidad se asignan a vistas. Por último, se puede invalidar el comportamiento de actualización predeterminado cuando la base de datos requiere el acceso a las tablas a través de procedimientos almacenados.

NotaNota

Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, consulte Customizing Development Settings in Visual Studio.

Para asignar procedimientos almacenados con el fin de invalidar el comportamiento predeterminado de una clase de entidad

  1. Abra el archivo de LINQ to SQL en el diseñador.(Haga doble clic en el archivo .dbml en el Explorador de soluciones.)

  2. En el Explorador de servidores/Explorador de bases de datos, expanda Procedimientos almacenados y busque los procedimientos almacenados que desee usar para los comandos Insertar, Actualizar y/o Eliminar de la clase de entidad.

  3. Arrastre el procedimiento almacenado hasta Object Relational Designer.

    El procedimiento almacenado se agrega al panel de métodos como un método de DataContext.Para obtener más información, vea Métodos DataContext (Object Relational Designer).

  4. Seleccione la clase de entidad para la que desee usar el procedimiento almacenado para realizar las actualizaciones.

  5. En la ventana Propiedades, seleccione el comando que desee invalidar (Insertar, Actualizar o Eliminar).

  6. Haga clic en los puntos suspensivos (...) junto a Usar motor en tiempo de ejecución para abrir el cuadro de diálogo Configurar comportamiento.

  7. Seleccione Personalizar.

  8. Seleccione el procedimiento almacenado que desee en la lista Personalizar.

  9. Examine la lista de Argumentos de método y Propiedades de clase para comprobar que los Argumentos de método se asignan a las Propiedades de clase adecuadas.Asigne los argumentos de método originales (Original_ArgumentName) a las propiedades originales (PropertyName (Original)) de los comandos Actualizar y Eliminar.

    NotaNota

    De forma predeterminada, los argumentos de método se asignan a las propiedades de clase cuando los nombres coinciden.Si los nombres de propiedad modificados ya no coinciden entre la tabla y la clase de entidad, puede que tenga que seleccionar la propiedad de clase equivalente para la asignación si el diseñador no puede determinar la asignación correcta.

  10. Haga clic en Aceptar o en Aplicar.

    NotaNota

    Puede continuar configurando las combinaciones de clase y comportamiento haciendo clic en Aplicar después de realizar cada modificación.Si cambia la clase o el comportamiento antes de hacer clic en Aplicar, aparecerá un cuadro de diálogo de advertencia en el que podrá aplicar los cambios.

    Para revertir a la lógica predeterminada del motor en tiempo de ejecución para las actualizaciones, haga clic en los puntos suspensivos junto a los comandos Insertar, Actualizar o Eliminar en la ventana Propiedades y, a continuación, seleccione Usar motor en tiempo de ejecución en el cuadro de diálogo Configurar comportamiento.

Mostrar:
© 2015 Microsoft