Compartir a través de


Crear clases de LINQ to SQL usando el Diseñador relacional de objetos

Actualización: noviembre 2007

El Diseñador relacional de objetos (Diseñador relacional de objetos) permite asignar clases de LINQ to SQL a las tablas de una base de datos. Estas clases asignadas también se denominan clases de entidad. Las propiedades de una clase de entidad se asignan a las columnas de la tabla y pueden enlazar los datos a los controles de un formulario Windows Forms. Para obtener más información sobre LINQ to SQL, vea Usar LINQ en Visual Basic Express.

En esta lección, obtendrá información sobre cómo utilizar el Diseñador relacional de objetos para crear las clases de entidad que se asignan a las tablas de la base de datos Northwind. Después mostrará los datos en una aplicación de formularios Windows Forms.

Requisitos previos

  • Si no instaló SQL Server Express Edition cuando instaló Visual Basic Express, debe hacer esto antes de continuar. Las bases de datos de SQL Server Compact 3.5 no se admiten en LINQ to SQL. Para obtener información sobre cómo obtener SQL Server Express, consulte la sección Obtener SQL Server Express de Cómo: Instalar bases de datos de ejemplo.

  • Para completar esta lección, debe tener acceso a la versión SQL Server de la base de datos de ejemplo Northwind. Para obtener más información, consulte Cómo: Instalar bases de datos de ejemplo.

Inténtelo.

Para abrir el Diseñador relacional de objetos

  1. En el menú Archivo, haga clic en Nuevo proyecto.

  2. En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación de Windows Forms, asígnele el nombre LINQToSQLSample al proyecto y, a continuación, haga clic en Aceptar.

    Se abre un nuevo proyecto de formularios Windows Forms.

  3. En el menú Proyecto, haga clic en Agregar nuevo elemento.

  4. Haga clic en la plantilla Clases de LINQ to SQL y escriba NorthwindSample.dbml en el cuadro Nombre.

  5. Haga clic en Add.

    Se agrega un LINQ a archivo SQL (NorthwindSample.dbml) vacío al proyecto y se abre el Diseñador relacional de objetos.

El Diseñador relacional de objetos está formado por dos superficies de diseño: el panel Entidades a la izquierda y el área del panel Métodos a la derecha. El panel Entidades es la superficie de diseño principal, que muestra las clases de entidad definidas en el archivo. El panel Métodos es la superficie de diseño que muestra los métodos de DataContext que están asignados a los procedimientos y funciones almacenados. Para ocultar el panel Métodos, haga clic con el botón secundario en el Diseñador relacional de objetos y, a continuación, haga clic en Ocultar panel Métodos. En esta lección no se usará el panel Métodos, pero puede obtener más información sobre el mismo en Métodos DataContext (Diseñador relacional de objetos).

Haga clic en la superficie de diseño principal y compruebe que su nombre es NorthwindSampleDataContext mirando la propiedad Name en la Ventana Propiedades. Puede crear clases de entidad arrastrando tablas de base de datos del Explorador de bases de datos a la superficie del Diseñador relacional de objetos. No obstante, primero debe crear una conexión a la base de datos. Este proceso es como el proceso descrito en Obtener la información necesaria: conectarse a una base de datos existente, salvo que en esta lección usará una base de datos de SQL Server Express.

Para conectarse a la base de datos Northwind

  1. En el menú Ver, haga clic en Explorador de bases de datos.

    Se abre el Explorador de bases de datos.

  2. Haga clic en el botón Conectar a base de datos de la barra de herramientas Explorador de bases de datos.

  3. Haga clic en la opción Archivo de base de datos de Microsoft SQL Server de la ventana Elegir orígenes de datos y, a continuación, haga clic en Continuar.

    Se abrirá el cuadro de diálogo Agregar conexión.

  4. En el cuadro de diálogo Agregar conexión, asegúrese de que el origen de datos sea Archivo de base de datos de Microsoft SQL Server (SqlClient).

  5. Haga clic en Examinar y, a continuación, seleccione la base de datos Northwind.mdf. Haga clic en Abrir.

  6. Haga clic en Probar conexión para comprobar que la conexión se ha realizado correctamente.

  7. Haga clic en Aceptar para cerrar el cuadro de diálogo Agregar conexión.

Crear clases de entidad

Las tablas de la base de datos Northwind aparecerán ahora en el Explorador de bases de datos. Puede arrastrar tablas del Explorador de bases de datos al Diseñador relacional de objetos. De esta forma, se crean automáticamente clases de entidad con propiedades que se asignan a las columnas de las tablas que arrastró desde el Explorador de bases de datos.

Para crear clases de entidad

  1. En el Explorador de bases de datos, expanda Northwind.mdfy, a continuación, Tablas.

  2. Arrastre Customers del Explorador de bases de datos a la superficie del Diseñador relacional de objetos. Si se le pregunta si desea copiar el archivo de datos en el proyecto, haga clic en Sí.

    Se crea una clase de entidad denominada Customer. Dicha clase tiene propiedades que corresponden a las columnas de la tabla Customers.

  3. Arrastre Orders del Explorador de bases de datos a la superficie del Diseñador relacional de objetos.

    Se crea una clase de entidad denominada Order que tiene una asociación (relación) con la clase de entidad Customer. Dicha clase tiene propiedades que corresponden a las columnas de la tabla Orders.

Ahora que ya ha creado las clases de entidad, puede agregarlas a la ventana Orígenes de datos ejecutando el Asistente para la configuración de orígenes de datos.

Para agregar una clase de entidad como origen de datos de un objeto en la ventana Orígenes de datos

  1. En el menú Generar, haga clic en Generar LINQToSQLSample.

  2. En el menú Datos, haga clic en Mostrar orígenes de datos.

  3. En la ventana Orígenes de datos, seleccione Agregar nuevo origen de datos.

  4. Haga clic en Objeto en la página Elegir un tipo de origen de datos y, a continuación, haga clic en Siguiente.

  5. Expanda el nodo LINQToSQLSample y busque la clase Customer.

    Nota:

    Si la clase Customer no está disponible, haga clic en Cancelar, genere el proyecto y ejecute de nuevo el asistente.

  6. Haga clic en Finalizar para crear el origen de datos y agregar la clase de entidad Customer a la ventana Orígenes de datos.

Enlazar controles a clases de entidad en un formulario Windows Forms

Puede agregar controles enlazados a datos a clases de entidad en un formulario Windows Forms. Para ello, arrastre tablas o campos de la ventana Orígenes de datos al formulario.

Para agregar controles enlazados a las clases de entidad

  1. Haga clic con el botón secundario en Form1 en el Explorador de soluciones y, a continuación, haga clic en Ver diseñador.

  2. En la ventana Orígenes de datos, expanda Customer.

  3. Haga clic en la flecha desplegable situada junto a CompanyName y, a continuación, haga clic en Label.

  4. Arrastre CompanyName al formulario.

    Se agregan una etiqueta y una barra de herramientas de navegación al formulario.

  5. Arrastre Orders desde la ventana Orígenes de datos hasta Form1. Colóquela bajo CompanyName.

  6. Haga clic con el botón secundario en Form1 en el Explorador de soluciones y, a continuación, haga clic en Ver código.

  7. Agregue el código siguiente al formulario, en la parte superior de la clase Form, fuera de cualquier método concreto.

    Private NorthwindSampleDataContext1 As New _
        NorthwindSampleDataContext
    
  8. Haga doble clic en el formulario para crear un controlador de eventos para el evento Form_Load. Agregue el código siguiente al controlador de eventos:

    CustomerBindingSource.DataSource = _
        NorthwindSampleDataContext1.Customers()
    
  9. Presione F5 para ejecutar el código.

  10. Cuando el formulario se abre, haga clic en el botón Mover siguiente en la barra de herramientas para desplazarse por las compañías y comprobar que los datos de los pedidos están actualizados con el fin de mostrar los pedidos del cliente seleccionado.

Guardar los cambios

Al agregar los controles al Diseñador relacional de objetos, el botón Guardar datos de la barra de herramientas de navegación no está habilitado. Si desea permitir que los usuarios guarden los cambios que realicen, primero debe habilitar el botón Guardar y, a continuación, agregar código para guardar los datos cambiados.

Para habilitar el botón Guardar

  1. En la vista Diseño, seleccione el botón Guardar en la barra de herramientas de navegación. (El botón con el icono de disco.)

  2. En la ventana Propiedades, establezca la propiedad Enabled en True.

  3. Haga doble clic en el botón Guardar para crear un controlador de eventos y pasar al Editor de código.

  4. Agregue el código siguiente al controlador de eventos del botón Guardar.

    NorthwindSampleDataContext1.SubmitChanges()
    
  5. Presione F5 para ejecutar el código.

  6. Cambie el valor de uno de los campos de Fecha de envío y presione la tecla TAB para confirmar el cambio.

  7. Haga clic en el botón Guardar datos.

  8. Cierre el formulario.

  9. Presione F5 y compruebe que se ha guardado el cambio realizado.

Pasos siguientes

En esta lección ha aprendido a crear clases LINQ to SQL utilizando el Diseñador relacional de objetos. En la lección siguiente, aprenderá a enlazar los datos utilizando una consulta LINQ. Para obtener más información sobre cómo utilizar LINQ en una aplicación, vea Usar LINQ en Visual Basic Express.

Próxima lección: Usar LINQ para enlazar datos a controles

Vea también

Tareas

Almacenar y obtener acceso a datos

Mostrar datos relacionados

Tutorial: Crear clases de LINQ to SQL (Diseñador relacional de objetos)

Conceptos

Usar LINQ en Visual Basic Express

Información general sobre el Diseñador relacional de objetos

Otros recursos

Administrar registros: utilizar datos en un programa