Tutorial: Creación de clases LINQ to SQL mediante la herencia de tabla única (Object Relational Designer)
Las herramientas LINQ to SQL de Visual Studio admiten la herencia de tabla única, ya que normalmente se implementa en sistemas relacionales. Este tutorial amplía los pasos genéricos proporcionados en el tema Procedimiento para configurar la herencia mediante Object Relational Designer y proporciona algunos datos reales para demostrar el uso de la herencia en esta herramienta.
En este tutorial, realizará las tareas siguientes:
Crear una tabla de base de datos y agregar datos a la tabla.
Crear una aplicación de Windows Forms.
Agregar un archivo de LINQ to SQL a un proyecto.
Crear nuevas clases de entidad.
Configurar las clases de entidad de modo que usen la herencia.
Consultar la clase heredada.
Mostrar los datos en un Windows Form
Crear una tabla de la que se va a heredar
Para ver cómo funciona la herencia, creará una pequeña tabla Person
, que usará como clase base y, luego, creará un objeto Employee
, que heredará de ella.
Para crear una tabla base con el fin de mostrar la herencia
En el Explorador de servidores o el Explorador de bases de datos, haga clic con el botón derecho en el nodo Tablas y, luego, haga clic en Agregar nueva tabla.
Nota
Puede usar la base de datos Northwind o cualquier otra base de datos a la que pueda agregar una tabla.
En el Diseñador de tablas, agregue las siguientes columnas a la tabla:
Nombre de columna Tipo de datos Permitir valores NULL ID int False Tipo int True Nombre nvarchar(200) False Apellidos nvarchar(200) False Administrador int True Establezca la columna Id. como clave principal.
Guarde la tabla y asígnele el nombre Person.
Agregar datos a la tabla
Para poder comprobar que la herencia está correctamente configurada, la tabla necesita algunos datos por cada clase en la herencia de tabla única.
Para agregar datos a la tabla
Abra la tabla en la vista de datos. (Haga clic con el botón derecho en la tabla Persona en el Explorador de servidores o en el Explorador de bases de datos y, luego, haga clic en Mostrar datos de tabla).
Copie los datos siguientes en la tabla. (Puede copiarlos y, luego, pegarlos en la tabla seleccionando toda la fila en el panel Resultados).
ID Tipo Nombre Apellidos Administrador 1 1 Anne Wallace NULL 2 1 Carlos Grilo NULL 3 1 Yael Peled NULL 4 2 Gatis Ozolins 1 5 2 Andreas Hauser 1 6 2 Tiffany Phuvasate 1 7 2 Alexey Orekhov 2 8 2 Michał Poliszkiewicz 2 9 2 Tai Yee 2 10 2 Fabricio Noriega 3 11 2 Mindy Martin 3 12 2 Ken Kwok 3
Creación de un nuevo proyecto
Ahora que ha creado la tabla, cree un nuevo proyecto para mostrar la configuración de la herencia.
Para crear la nueva aplicación de Windows Forms
En Visual Studio, en el menú Archivo, seleccione Nuevo>Proyecto.
Expanda Visual C# o Visual Basic en el panel de la izquierda y, a continuación, seleccione Escritorio de Windows.
En el panel central, seleccione el tipo de proyecto Aplicación de Windows Forms.
Llame al proyecto InheritanceWalkthrough y, luego, elija Aceptar.
Se crea el proyecto InheritanceWalkthrough y se agrega al Explorador de soluciones.
Agregar un archivo de clases de LINQ to SQL al proyecto
Para agregar un archivo de LINQ to SQL al proyecto
En el menú Proyecto , haga clic en Agregar nuevo elemento.
Haga clic en la plantilla Clases de LINQ to SQL y, a continuación, seleccione Agregar.
El archivo
.dbml
agrega al proyecto y se abre Object Relational Designer.
Crear la herencia mediante Object Relational Designer
Configure la herencia arrastrando un objeto Herencia desde el Cuadro de herramientas hasta la superficie de diseño.
Para crear la herencia
En el Explorador de servidores o el Explorador de bases de datos, vaya a la tabla Persona que creó anteriormente.
Arrastre la tabla Persona a la superficie de diseño de Object Relational Designer.
Arrastre una segunda tabla Persona a la herramienta Object Relational Designer y cambie su nombre a Empleado.
Elimine la propiedad Administrador del objeto Person.
Elimine las propiedades Tipo, Id., Nombre y Apellido del objeto Employee. Es decir, elimine todas las propiedades menos Administrador.
Desde la pestaña Object Relational Designer del Cuadro de herramientas, cree una Herencia entre los objetos Person y Employee. Para ello, haga clic en el elemento Herencia del Cuadro de herramientas y suelte el botón del mouse. Después, haga clic en el objeto Empleado y, luego, en el objeto Persona de Object Relational Designer. La flecha en la línea de herencia apunta al objeto Persona.
Haga clic en la línea Herencia en la superficie de diseño.
Establezca la propiedad Discriminator en Tipo.
Establezca la propiedad Valor de discriminador de clase derivada en 2.
Establezca la propiedad Valor de discriminador de clase base en 1.
Establezca la propiedad Predeterminado de herencia en Person.
Compile el proyecto.
Consultar la clase heredada y mostrar los datos en el formulario
Ahora, va a agregar código al formulario para consultar una clase concreta en el modelo de objetos.
Para crear una consulta LINQ y mostrar los resultados en el formulario
Arrastre un control ListBox hasta el formulario Form1.
Haga doble clic en el formulario para crear un controlador de eventos
Form1_Load
.Agregue el código siguiente al controlador de eventos
Form1_Load
:
Prueba de la aplicación
Ejecute la aplicación y compruebe que los registros mostrados en el cuadro de lista son todos empleados (registros con el valor 2 en la columna Tipo).
Para probar la aplicación
Presione F5.
Compruebe que se muestran únicamente los registros con el valor 2 en la columna Tipo.
Cierre el formulario. En el menú Depurar, haga clic en Detener depuración.
Contenido relacionado
- LINQ to SQL tools en Visual Studio (Herramientas LINQ to SQL en Visual Studio)
- Walkthrough: Creating LINQ to SQL classes (O-R Designer) (Tutorial: Crear clases de LINQ to SQL [Object Relational Designer])
- Cómo: Asignar procedimientos almacenados para realizar actualizaciones, inserciones y eliminaciones (Object Relational Designer)
- LINQ to SQL
- Procedimiento para generar el modelo de objetos en Visual Basic o C#