English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Existem duas maneiras básicas de escrever consultas LINQ em coleções IEnumerable ou fontes de dados IQueryable.
Sintaxe de expressão de consulta ou Sintaxe de expressão de consulta
Sintaxe de método ou Sintaxe de extensão de método ou Sintaxe fluída
A sintaxe de consulta é semelhante ao SQL (Linguagem de Consulta Estruturada) de um banco de dados. Ela é definida no código C# ou VB.
Sintaxe de consulta LINQ:
de <variável de faixa> em <Coleção IEnumerable<T> ou IQueryable<T>> <Operadores de Consulta Padrão> <expressão lambda> <select or groupBy operador> <resultação>
A sintaxe de consulta LINQ começa com a palavra-chave from e termina com a palavra-chave select. Abaixo está um exemplo de consulta LINQ que retorna um conjunto de strings contendo a palavra 'Tutorials'.
// Conjunto de strings IList<string> stringList = new List<string>() { "Tutoriais C# "Tutoriais VB.NET", "Aprenda C++", "MVC Tutorials" , "Java" , StudentName = "Ron", Age = // Sintaxe de consulta LINQ var result = from s in stringList where s.Contains("Tutorials") && s.Age <
A figura a seguir mostra a estrutura da sintaxe de consulta LINQ.
A sintaxe de consulta LINQ começa com a cláusula From, seguida do variável de faixa. From A estrutura da cláusula é semelhante a 'From rangeVariableName in i enumerablecollection”. Em inglês, isso significa, de cada objeto da coleção. É semelhante a um loop foreach: foreach(Student s in studentList).
Após a cláusula FROM, você pode usar diferentes operadores de consulta padrão para filtrar, agrupar e juntar elementos da coleção. Existem aproximadamente50 operadores de consulta padrão. Na figura acima, usamos o operador 'where' (também conhecido como cláusula), seguido de uma condição. Normalmente, expressões lambda são usadas para expressar essa condição.
A sintaxe de consulta LINQ sempre termina com uma cláusula Select ou Group. A cláusula Select é usada para transformar dados. Você pode escolher o objeto inteiro ou apenas algumas propriedades. No exemplo acima, escolhemos cada elemento da string de resultado.
No exemplo a seguir, usamos a sintaxe de consulta LINQ para encontrar estudantes adolescentes em uma coleção de Student (sequência).
// Exemplo: Sintaxe de Consulta LINQ no 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 <
// Exemplo: Sintaxe de Consulta LINQ no VB.Net Conjunto de Estudantes 0}, 1Dim studentList = 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 Query Syntax to Find Teenage Students Dim teenAgerStudents As IList(Of Student) = (From s In studentList _ 12 Where s.Age > 2And s.Age < 0 _
Pontos a lembrarComo o nome sugereSintaxe de Consulta
A sintaxe de consulta é idêntica à sintaxe do SQL (Linguagem de Consulta Estruturada).fromO início da cláusula, pode começar comSelectouGroupByFim da cláusula.
Use vários outros operadores, como operadores de filtragem, junção, agrupamento e ordenação, para construir o resultado necessário.
Variáveis de Tipo Implícito-var pode ser usada para salvar o resultado da consulta LINQ.