Share via


LINQ to SQL (SQL Server Compact)

Language-Integrated Query (LINQ to SQL) es un componente de .NET Framework 3.5 que proporciona una infraestructura de tiempo de ejecución para administrar datos relacionales como objetos, sin perder la capacidad de realizar consultas. Para ello, LINQ to SQL traduce a SQL las consultas integradas en el lenguaje para su ejecución por parte de la base de datos y, posteriormente, vuelve a trasladar los resultados tabulares a los objetos que se definan. Así, la aplicación queda libre para cambiar los objetos y LINQ to SQL permanece en segundo plano, realizando el seguimiento de los cambios automáticamente.

En conjunto, la infraestructura de tiempo de ejecución de LINQ to SQL y las herramientas de tiempo de diseño reducen considerablemente la carga de trabajo del desarrollador de la aplicación de bases de datos. LINQ to SQL es independiente del lenguaje. Cualquier lenguaje creado para proporcionar Language-Integrated Query puede usar el componente para habilitar el acceso a la información almacenada en bases de datos relacionales.

Nota

Los datos relacionales se muestran como una colección de tablas bidimensionales (relaciones o archivos sin formato), donde las columnas comunes relacionan las tablas entre sí. Para utilizar LINQ to SQL con eficacia, debe estar un poco familiarizado con los principios subyacentes de las bases de datos relacionales.

LINQ to SQL en SQL Server Compact

De forma predeterminada, SQL Server Compact 3.5 se instala para todas las ediciones de Microsoft Visual Studio 2008 y está disponible en el equipo de desarrollo para su uso con LINQ to SQL. Con todo, el desarrollo de una aplicación que use SQL Server Compact 3.5 y LINQ to SQL es distinto al procedimiento de implementación de una aplicación de SQL Server. Puesto que SQL Server Compact 3.5 es una base de datos incrustada, tiene juntos el proveedor y el motor.

SQL Server Compact 3.5 es como SQL Server porque se debe instalar por separado de .NET Framework. Con todo, SQL Server Compact 3.5 se puede implementar de forma privada o incrustar en la aplicación. De esta forma, el uso de los datos locales resulta transparente para los requisitos de instalación de la aplicación. SQL Server Compact 3.5 se puede incrustar con la aplicación; también se puede usar el archivo de Windows Installer de SQL Server Compact 3.5 (SSCERuntime-<idioma>.msi).

SQL Server Compact 3.5 está empaquetado como un conjunto de DLL que pueden trabajar con archivos de base de datos (.sdf) directamente. Los archivos DLL de SQL Server Compact 3.5 son pequeños, lo que reduce el tamaño total de la aplicación. Las instalaciones incrustadas no requieren derechos administrativos para agregar la funcionalidad de almacenamiento de datos locales.

Las ventajas de la funcionalidad de LINQ to SQL en SQL Server Compact 3.5 son: 

  • Sintaxis familiar de SQL Server para escribir consultas.

  • Comprobación en tiempo de compilación de errores de sintaxis y seguridad de tipos.

  • Compatibilidad del depurador mejorada.

  • Compatibilidad con IntelliSense.

  • Eficaces funciones de filtrado, clasificación y agrupación.

  • Modelo coherente para trabajar con datos entre varios tipos de formatos y orígenes de datos.

Diferencias con SQL Server

El conjunto de características de SQL Server Compact 3.5 ofrece un completo subconjunto de las otras versiones de SQL Server en relación con situaciones de datos locales incrustados. Mediante el uso de la implementación incrustada, SQL Server Compact 3.5 admite un completo conjunto de funciones para escenarios de datos locales, igual en todos los clientes de Microsoft, desde dispositivos a equipos de escritorio. LINQ to SQL en SQL Server Compact 3.5:

  • Compatible con el tiempo de ejecución de LINQ to SQL y la herramienta de línea de comandos SQLMetal.

  • Admite un completo subconjunto de tipos de datos y funciones de SQL Server.

  • Admite un completo subconjunto de construcciones de SQL relacionadas con escenarios de datos locales.

  • El optimizador de consultas está dirigido a los escenarios de datos locales y podría agotar el tiempo de espera si las consultas de LINQ to SQL son demasiado complejas al asignarse a consultas de SQL.

  • No admite las vistas ni los procedimientos almacenados.

  • No admite el Diseñador de objetos relacionales.

  • No admite la confianza parcial.

Para optimizar el rendimiento de LINQ to SQL en SQL Server Compact 3.5, la característica de consulta compilada de LINQ to SQL se deber usar para crear de antemano la consulta de Transact-SQL. Se debe usar una consulta compilada siempre que se pueda. Además, el DataContext de LINQ to SQL se debe usar en modo de solo lectura cuando no se necesiten actualizaciones. Para establecer DataContext, use la siguiente instrucción:

DataContext.ObjectTrackingEnabled=false

Vea también

Otros recursos

LINQ to SQL

Language-Integrated Query (LINQ)