DataContext (Métodos) (Object Relational Designer)
Los métodos de DataContext (en el contexto de las herramientas de LINQ to SQL para Visual Studio) son métodos de la clase DataContext que ejecutan procedimientos almacenados y funciones en una base de datos.
La clase DataContext es una clase de LINQ to SQL que actúa como una vía entre una base de datos de SQL Server y las clases de entidad de LINQ to SQL asignadas a esa base de datos. La clase DataContext contiene la información de la cadena de conexión y los métodos para realizar la conexión a una base de datos y manipular los datos de la base de datos. De forma predeterminada, la clase DataContext contiene varios métodos a los que se puede llamar, como el método SubmitChanges que envía los datos actualizados de las clases de LINQ to SQL a la base de datos. También se pueden crear métodos DataContext adicionales que se asignan a los procedimientos almacenados y funciones. Es decir, al llamar a estos métodos personalizados, se ejecuta el procedimiento almacenado o la función en la base de datos a la que está asignado el método DataContext. Se pueden agregar métodos nuevos a la clase DataContext de la misma forma que se agregarían métodos para extender cualquier clase. Sin embargo, en las explicaciones sobre los métodos DataContext en el contexto de Object Relational Designer, se abordan los métodos DataContext que se asignan a los procedimientos almacenados y las funciones.
Panel de métodos
Los métodos DataContext que se asignan a los procedimientos almacenados y las funciones se muestran en el panel Métodos de Object Relational Designer. El panel Métodos es el situado junto al panel Entidades (la principal superficie de diseño). El panel Métodos muestra todos los métodos DataContext creados mediante Object Relational Designer. De forma predeterminada, el panel Métodos está vacío; arrastre los procedimientos almacenados o las funciones desde el Explorador de servidores o el Explorador de bases de datos en el Object Relational Designer para crear métodos DataContext y rellenar el panel Métodos. Para obtener más información, vea Procedimiento para crear métodos DataContext asignados a funciones y procedimientos almacenados (Object Relational Designer).
Nota
Para abrir y cerrar el panel de métodos, haga clic con el botón derecho en Object Relational Designer y, a continuación, haga clic en Ocultar panel Métodos o Mostrar panel Métodos, o bien, use el método abreviado de teclado CTRL+1.
Dos tipos de métodos de DataContext
Los métodos de DataContext son los que se asignan a los procedimientos almacenados y funciones de la base de datos. Puede crear y agregar métodos DataContext en el panel Métodos de Object Relational Designer. Hay dos tipos distintos de métodos DataContext; los que devuelven uno o varios conjuntos de resultados y los que no:
Métodos de DataContext que devuelven uno o varios conjuntos de resultados:
Cree este tipo de método de DataContext cuando la aplicación solamente necesite ejecutar los procedimientos almacenados y funciones en la base de datos y devolver los resultados. Para obtener más información, vea Procedimiento para crear métodos DataContext asignados a funciones y procedimientos almacenados (Object Relational Designer), System.Data.Linq.ISingleResult<T> y IMultipleResults.
Métodos de DataContext que no devuelven conjuntos de resultados, como Inserts, Updates y Deletes para una clase de entidad concreta.
Cree este tipo de método de DataContext cuando la aplicación tenga que ejecutar los procedimientos almacenados en lugar de usar el comportamiento predeterminado de LINQ to SQL para guardar los datos modificados entre una clase de entidad y la base de datos. Para obtener más información, vea Cómo: Asignación de procedimientos almacenados para realizar actualizaciones, inserciones y eliminaciones (Object Relational Designer).
Tipos de valor devuelto de los métodos de DataContext
Al arrastrar procedimientos almacenados y funciones desde el Explorador de servidores o el Explorador de bases de datos hasta Object Relational Designer, el tipo de valor devuelto del método generado de DataContext difiere según la ubicación donde se coloque el elemento. Al colocar directamente los elementos en una clase de entidad existente, se crea un método DataContext con el tipo de valor devuelto de la clase de entidad; al colocar los elementos en un área vacía (en cualquiera de los dos paneles) de Object Relational Designer, se crea un método DataContext que devuelve un tipo generado automáticamente. El tipo generado automáticamente tiene el nombre que coincide con el nombre del procedimiento almacenado o de la función y sus propiedades, que se asignan a los campos devueltos por el procedimiento almacenado o la función.
Nota
Se puede cambiar el tipo de valor devuelto de un método de DataContext después de agregarlo al panel de métodos. Para examinar o cambiar el tipo de valor devuelto de un método DataContext, selecciónelo y fíjese en la propiedad Tipo devuelto en la ventana Propiedades. Para obtener más información, vea Procedimiento para cambiar el tipo de valor devuelto de un método DataContext (Object Relational Designer).
Los objetos que se arrastran desde la base de datos a la superficie de Object Relational Designer reciben automáticamente un nombre basado en el nombre de los objetos de la base de datos. Si arrastra el mismo objeto más de una vez, se agrega un número al final del nuevo nombre para diferenciar los nombres. Cuando los nombres de objetos de la base de datos contienen espacios o caracteres no admitidos en Visual Basic o C#, el espacio o el carácter no válido se sustituye por un carácter de subrayado.
Contenido relacionado
- LINQ to SQL tools en Visual Studio (Herramientas LINQ to SQL en Visual Studio)
- LINQ to SQL
- procedimientos almacenados
- Cómo: Crear métodos DataContext asignados a funciones y procedimientos almacenados (Object Relational Designer)
- Cómo: Asignar procedimientos almacenados para realizar actualizaciones, inserciones y eliminaciones (Object Relational Designer)
- Tutorial: Personalizar el comportamiento de inserción, actualización y eliminación de las clases de entidad
- Walkthrough: Creating LINQ to SQL classes (O-R Designer) (Tutorial: Crear clases de LINQ to SQL [Object Relational Designer])