English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Hay dos métodos básicos para escribir consultas LINQ en colecciones IEnumerable o fuentes de datos IQueryable.
Sintaxis de expresión de consulta o sintaxis de expresión de consulta
Sintaxis de método o extensión de método o sintaxis fluída
La sintaxis de consulta es similar al SQL (lenguaje de consulta estructurada) de bases de datos. Se define en código C# o VB.
Sintaxis de consulta LINQ:
de <variable de rango> en <Colección IEnumerable<T> o IQueryable<T>> <Operadores de Consulta Estándar> <expresión lambda> <select or groupBy operator> <result formation>
La sintaxis de consulta LINQ comienza con la palabra clave from y termina con la palabra clave select. A continuación se muestra un ejemplo de consulta LINQ que devuelve un conjunto de cadenas que contiene la palabra "Tutorials".
// Conjunto de cadenas IList<string> stringList = new List<string>() { "Tutoriales C# "Tutoriales VB.NET", "Aprender C++", "MVC Tutorials", "Java" , StudentName = "Ron", Age = // Sintaxis de consulta LINQ var result = from s in stringList where s.Contains("Tutorials") && s.Age <
La siguiente imagen muestra la estructura de la sintaxis de consulta LINQ.
La sintaxis de consulta comienza con la cláusula FROM, seguida de un variable de rango. From enumerablecollection
Después de la cláusula FROM, se pueden usar diferentes operadores de consulta estándar para filtrar, agrupar y unir elementos en la colección. En LINQ hay aproximadamente50 operadores de consulta estándar. En la imagen anterior, utilizamos el operador "where" (también conocido como cláusula), seguido de una condición. Generalmente se expresa esta condición mediante una expresión lambda.
La sintaxis de consulta LINQ siempre termina con una cláusula Select o Group. La cláusula Select se utiliza para transformar datos. Puede seleccionar todo el objeto en su totalidad o solo algunas propiedades. En el ejemplo anterior, seleccionamos cada elemento de la cadena de resultado.
En el siguiente ejemplo, utilizamos la sintaxis de consulta LINQ para encontrar estudiantes adolescentes en la colección de Student (secuencia).
// Ejemplo: Sintaxis de consulta LINQ en VB.Net IList<Student> studentList = new List<Student>() { 0} , 1, StudentName = "John", Age = 13}, , 0} , 2, StudentName = "Moin", Age = 21 }, , 0} , 3, StudentName = "Bill", Age = 18 }, , 0} , 4, StudentName = "Ram" , Age = 20} , 0} , 5new Student() { StudentID = 15 , StudentName = "Ron", Age = , StudentName = "Ron", Age = // } }; var teenAgerStudent = from s in studentList 12 where s.Age > 20 && s.Age <
// Ejemplo: Sintaxis de consulta LINQ en VB.Net Conjunto de estudiantes 0}, 1Dim studentList As New List(Of Student) From { 13, StudentName = "Bill", Age = 0}, 2, StudentName = "John", Age = 21, StudentName = "Bill", Age = 0}, 3, StudentName = "Moin", Age = 18, StudentName = "Bill", Age = 0}, 4}, 2, StudentName = "Ram", Age = 0}, 5New Student() With {.StudentID = 15, StudentName = "Ron", Age = , StudentName = "Ron", Age = // } LINQ查询语法查找青少年学生 Dim teenAgerStudents As IList(Of Student) = (From s In studentList _ 12 Where s.Age > 2And s.Age < 0 _
Puntos a recordarComo su nombre indicaSintaxis de consulta
La sintaxis de consulta es idéntica a la sintaxis del lenguaje de consulta estructurada (SQL).fromInicio de la cláusula, puede comenzar conSelectoGroupByFinal de la cláusula.
Utilice varios otros operadores, como operadores de filtrado, unión, agrupación y ordenación, para construir el resultado necesario.
Variable de tipo implícito-La variable var se puede usar para guardar el resultado de la consulta LINQ.