Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Las consultas LINQ to SQL se definen mediante 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 traduce las consultas que escribe en consultas SQL equivalentes y las envía al servidor para su procesamiento. Más concretamente, la aplicación usa la API LINQ to SQL para solicitar la ejecución de consultas. A continuación, el proveedor LINQ to SQL transforma la consulta en texto SQL y delega la ejecución en el proveedor de ADO. El proveedor de ADO devuelve los resultados de la consulta como .DataReader El proveedor LINQ to SQL traduce los resultados de ADO a una IQueryable colección de objetos de usuario.
Nota:
La mayoría de los métodos y operadores de tipos integrados de .NET Framework tienen traducciones directas a SQL. Aquellos que LINQ no puede traducir generan excepciones en tiempo de ejecución. Para obtener más información, consulta Asignación de tipos de SQL-CLR.
En la tabla siguiente se muestran las similitudes y diferencias entre los elementos de consulta 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 |
| Especificación del origen de datos | Usa la From cláusula (Visual Basic) o from (C#) |
Iguales |
| Filtros | Usa la Where/where cláusula |
Iguales |
| Agrupación | Usa la Group…By/groupby cláusula |
Iguales |
| Seleccionar (proyectar) | Usa la Select/select cláusula |
Iguales |
| Ejecución diferida frente a ejecución inmediata | Consulte Introducción a las consultas LINQ (C#) | Iguales |
| Implementar combinaciones | Usa la Join/join cláusula |
Puede usar la Join/join cláusula , pero de forma más eficaz usa el AssociationAttribute atributo . Para obtener más información, consulte Realizar consultas en varias relaciones. |
| Ejecución remota frente a local | Para obtener más información, vea Ejecución remota frente a local. | |
| Streaming frente a consultas almacenadas en caché | No aplicable en un escenario de memoria local |