Métodos DataContext (Object Relational Designer)
Publicado: abril de 2016
Los métodos de DataContext (en el contexto del Object Relational Designer) 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 adicionales de DataContext que se asignan a los procedimientos almacenados y funciones.Es decir, al llamar a estos métodos personalizados, se ejecutará el procedimiento almacenado o la función en la base de datos a la que está asignado el método de 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 de DataContext en el contexto del Object Relational Designer, se abordan los métodos de DataContext que se asignan a los procedimientos almacenados y funciones.
Nota
En LINQ to SQL, los procedimientos almacenados y funciones se administran de la misma manera, ya que ambos se asignan a las clases de entidad usando el mismo atributo T:System.Data.Linq.StoredProcedureAttribute.En el contexto de LINQ to SQL, los métodos de DataContext que se asignan a los procedimientos almacenados son los mismos que los que se asignan a las funciones.
Panel de métodos
Los métodos de DataContext que se asignan a los procedimientos almacenados y funciones se muestran en el panel de métodos del Object Relational Designer.El panel de métodos es el situado junto al panel Entidades (la principal superficie de diseño).El panel de métodos muestra todos los métodos de DataContext creados mediante el Object Relational Designer.De forma predeterminada, el panel de métodos está vacío; arrastre los procedimientos almacenados o funciones desde el Explorador de servidores/Explorador de bases de datos hasta el Object Relational Designer para crear métodos de DataContext y rellenar el panel de métodos.Para obtener más información, consulte Cómo: Crear métodos DataContext asignados funciones y procedimientos almacenados (Object Relational Designer).
Nota
Para abrir y cerrar el panel de métodos, haga clic con el botón secundario del mouse en el 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 de métodos de Object Relational Designer.Hay dos tipos distintos de métodos de 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 Cómo: Crear métodos DataContext asignados funciones y procedimientos almacenados (Object Relational Designer), T:System.Data.Linq.ISingleResult'1 e 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, consulte Cómo: Asignar procedimientos almacenados para realizar actualizaciones, inserciones y eliminaciones (Object Relational Designer).
Tipos de valor devuelto de los métodos de DataContext
Al arrastrar los procedimientos almacenados y funciones desde el Explorador de servidores/Explorador de bases de datos hasta el 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 de 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) del Object Relational Designer, se crea un método de DataContext que devuelve un tipo generado automáticamente.El tipo generado automáticamente coincide con el nombre del procedimiento almacenado o de la función y sus propiedades 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 de DataContext, selecciónelo y fíjese en la propiedad Tipo devuelto en la ventana Propiedades.Para obtener más información, consulte Cómo: Cambiar el tipo 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 anexa 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.
Vea también
Object Relational Designer
LINQ a SQL
Procedimientos almacenados
Cómo: Crear métodos DataContext asignados 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
Tutorial: Crear clases de LINQ to SQL (Object Relational Designer)