Consultas de LINQ to SQL

Las consultas de LINQ to SQL se definen con la misma sintaxis que en LINQ. La única diferencia es que los objetos a los que se hace referencia en las consultas se asignan a elementos de una base de datos. Para obtener más información, vea Introducción a las consultas LINQ (C#).

LINQ to SQL convierte las consultas que se escriben en consultas SQL equivalentes y las envía al servidor para su procesamiento. Más específicamente, la aplicación utiliza la API de LINQ to SQL para solicitar la ejecución de la consulta. Después, el proveedor de LINQ to SQL transforma la consulta en texto SQL y delega la ejecución al proveedor ADO. El proveedor ADO devuelve los resultados de la consulta como DataReader. El proveedor LINQ to SQL convierte los resultados de ADO en una colección IQueryable de objetos de usuario.

Nota

La mayoría de los métodos y operadores de los tipos integrados de .NET Framework tienen equivalentes directos en SQL. Los que LINQ no puede convertir generan excepciones en tiempo de ejecución. Para obtener más información, consulte Asignación de tipos de SQL-CLR.

La tabla siguiente muestra las similitudes y diferencias entre los elementos de las consultas LINQ y LINQ to SQL.

Elemento Consulta LINQ Consultas de LINQ to SQL
Tipo de valor devuelto de la variable local que contiene la consulta (para las consultas que devuelven secuencias) Genérico IEnumerable Genérico IQueryable
Especificar el origen de datos Utiliza la cláusula From Visual Basic) o from (C#). Iguales
Filtrado Utiliza la cláusula Where/where. Iguales
Agrupar Utiliza la cláusula Group…By/groupby. Iguales
Seleccionar (proyectar) Utiliza la cláusula Select/select. Iguales
Ejecución diferida frente a ejecución inmediata Consulte Introducción a las consultas LINQ (C#). Iguales
Implementar combinaciones Utiliza la cláusula Join/join. Puede utilizar la cláusula Join/join, pero utiliza el atributo AssociationAttribute más eficazmente. Para obtener más información, consulte Realizar consultas en varias relaciones.
Ejecución remota frente a ejecución local Para obtener más información, consulte Ejecución remota frente a local.
Consultas con transmisión por frecuencias frente a consultas con almacenamiento en caché No aplicable en un escenario de memoria local

Vea también