Visual Basic Guided Tour Using LINQ in Visual Basic Express
Applications often use data in SQL databases or XML documents.
As a developer, you used to need to learn a secondary language such as SQL or XQuery to work with this data.
Language-Integrated Query (LINQ) brings query capabilities into the Visual Basic language itself so that you don't have to learn a completely different query language.
Now you can use your existing knowledge of Visual Basic, together with a few additional keywords and concepts, to query SQL databases, ADO.NET datasets, XML documents, and any .NET Framework collection class that implements the IEnumerable interface.
 Advantages of Using LINQ
-
Familiar syntax for writing queries
-
Compile-time checking for syntax errors and type safety
-
Improved debugger support
-
IntelliSense support
-
Ability to work directly with XML elements, instead of creating a container XML document, as is required with W3C Document Object Model (DOM)
-
In-memory XML document modification that is powerful yet simpler to use than XPath or XQuery
-
Powerful filtering, ordering, and grouping capabilities
-
Consistent model for working with data in various kinds of data sources and formats
 Writing LINQ Queries
The basic structure of a LINQ query is the same whether you're working with ADO.NET datasets, SQL databases, .NET Framework collections, or XML documents.
A query expression starts with a From clause, which is followed by query clauses such as Where and Select.
The complete expression is stored in a query variable that can be executed or modified any number of times. Query expression syntax resembles the syntax of SQL.
For example, you could use the following syntax to write a LINQ query that returns all students in a students database that have science as their major:
Dim StudentQuery = From student in studentApp.students
Where student.Major = "Science" _
Select student
For more information, see Queries (Visual Basic), and Writing Your First LINQ Query (Visual Basic).
There are three basic stages of a LINQ query.
You obtain the data source, define the query expression, and then run the query.
For more information, see Writing Your First LINQ Query (Visual Basic).
 LINQ to Objects
The term LINQ to Objects refers to the use of LINQ to query in-memory data structures that support IEnumerable.
For more information, see LINQ to Objects.
 LINQ to SQL
Use LINQ to SQL to access SQL Server and SQL Server Express databases through a strongly-typed object layer that you create by using the O/R Designer.
You can use the O/R Designer to map LINQ to SQL classes to tables in a database and then write LINQ queries to bind data to controls in your application.
For example, the following LINQ query binds the results of a LINQ query (all customers from the United States) to a binding source of a DataGridView control.
Dim CustomersQuery = From customers in NorthwindSampleDataContext1.Customers _
Where customers.Country = "US" _
Select customers
CustomerBindingSource.DataSource = CustomersQuery
For more information, see LINQ to SQL, O/R Designer Overview, Creating LINQ to SQL Classes: Using the O/R Designer, and Using LINQ to Bind Data to Controls.
Note:
|
|
The
O/R Designer does not currently support SQL Server Compact 3.5 databases.
For information about how to obtain SQL Server Express Edition, see the Obtaining SQL Server Express Edition section in How to: Install Sample Databases.
|
 LINQ to DataSet
The DataSet is used to bind data to controls in an application.
Instead of connecting directly to a database, you can use a DataSet to create an offline cache of data, which can include subsets of several data sources, to be used with an application.
When the application is brought online, the database can be updated with the changes in the DataSet.
LINQ to DataSet makes querying over cached data faster and easier than the filtering and sorting methods available to a DataSet.
For more information, see LINQ to DataSet.
 LINQ to XML
LINQ to XML enables you to create and modify XML documents easily by using LINQ query expressions instead of having to learn XPath or XQuery.
LINQ to XML is a new in-memory API for XML that uses modern programming constructs instead of the W3C DOM.
For more information, see Overview of LINQ to XML in Visual Basic, Including XML Directly in Your Code: Using XML Literals, and Language-Integrated Axes in Visual Basic (LINQ to XML).
 See Also
|
Tour Didático do Visual Basic Usando LINQ no Visual Basic Express
Os aplicativos geralmente usam dados em bancos de dados SQL ou documentos XML.
Como desenvolvedor, você usou para precisam aprender um secundário Idioma como SQL ou XQuery para trabalhar com esse dados.
Language-Integrated Query (LINQ) traz os recursos de consulta em o Visual Basic Idioma próprio em que você não precise saber uma consulta completamente diferente Idioma.
Agora você pode usar seus conhecimentos existentes do Visual Basic, junto com algumas outras palavras-chave e conceitos, para consultar bancos de dados SQL, datasets ADO.NET, documentos XML e qualquer classe de coleção do .NET Framework que implementa a interface IEnumerable.
 Vantagens de usar LINQ
-
Sintaxe familiar para escrever consultas
-
Verificação em tempo de compilação de erros de sintaxe e segurança de tipo
-
Suporte a depurador aprimorado
-
Suporte ao IntelliSense
-
Capacidade para trabalhar diretamente com elementos XML, em vez de criar um documento XML de contêiner, como é necessário com o W3C Document Object Model (DOM)
-
Modificação de documento XML na memória, que é eficiente mas mais simples de usar do que o XPath ou XQuery
-
Poderosas capacidades de filtragem, classificação e agrupamento
-
Modelo consistente para trabalhar com dados em vários tipos de fontes de dados e formatos
 Escrevendo consultas LINQ
A estrutura básica de uma consulta LINQ é a mesma se você estiver trabalhando com datasets ADO.NET, bancos de dados SQL, coleções do .NET Framework ou documentos XML.
Um de expressão de consulta começa com uma cláusula de From , que é seguida por cláusulas de consulta, como Where e Select.
A expressão completa é armazenada em uma variável de consulta que pode ser executada ou modificados qualquer número de vezes. expressão de consulta sintaxe semelhante a sintaxe de SQL.
Por exemplo, você poderia usar a sintaxe a seguir para escrever uma consulta LINQ que retorna todos os alunos em um banco de dados de alunos que têm ciência como seus objetivos:
Dim StudentQuery = From student in studentApp.students
Where student.Major = "Science" _
Select student
Para obter mais informações, consulte Consultas(Visual Basic) e Gravar sua consulta LINQ Primeiro (Visual Basic).
Há três estágios básicos de uma consulta LINQ.
Você obtém a fonte de dados, define a expressão de consulta e em seguida, executa a consulta.
For more information, see Gravar sua consulta LINQ Primeiro (Visual Basic).
 LINQ para Objetos
O termo LINQ para Objetos refere-se ao uso de LINQ para consultar estruturas de dados na memória que oferecem suporte ao IEnumerable.
For more information, see LINQ para Objetos.
 LINQ to SQL
Use LINQ to SQL para acessar bancos de dados SQL Server e SQL Server Express através de uma camada de objeto fortemente tipada que você cria usando o O/R Designer.
Você pode usar o O/R Designer para mapear classes LINQ para SQL para tabelas em um banco de dados e, em seguida, escrever consultas LINQ para vincular dados a controles em seu aplicativo.
Por exemplo, a consulta LINQ a seguir vincula os resultados de uma consulta LINQ (todos os clientes dos Estados Unidos) a uma fonte de ligação de um controle DataGridView.
Dim CustomersQuery = From customers in NorthwindSampleDataContext1.Customers _
Where customers.Country = "US" _
Select customers
CustomerBindingSource.DataSource = CustomersQuery
Para obter mais informações, consulte LINQ to SQL, O/R Designer Overview, Criando LINQ to SQL classes: Usando o O/R Designer e Usando o LINQ para Ligar dados a controles.
Observação:
|
|
O
O/R Designer não oferece atualmente suporte a bancos de dados de SQL Servidor Compact 3.5.
Para obter informações sobre como obter SQL Server Express Edition, consulte a seção Obtendo SQL Server Express Edition em Como: Instalar bancos de dados de exemplo.
|
 LINQ to DataSet
O DataSet é usado para ligar dados a controles em um aplicativo.
Em vez de se conectar diretamente a um banco de dados, você pode usar um DataSet para criar um cache off-line de dados, que pode incluir subconjuntos de várias fontes de dados, para ser usado com um aplicativo.
Quando o aplicativo for colocado on-line, o banco de dados pode ser atualizado com as alterações na DataSet.
LINQ para DataSet faz consulta sobre dados armazenados em cache mais rapidamente e mais facilmente do que a filtragem e classifica os métodos disponíveis para um DataSet.
Para obter mais informações, consulte LINQ to DataSet.
 LINQ to XML
LINQ to XML permite criar e modificar documentos XML facilmente usando expressões de consulta LINQ em vez de precisar aprender XPath ou XQuery.
LINQ to XML é uma Novo de memória API para o XML que usa construções de programação modernas em vez do W3C DOM.
Para obter mais informações, consulte Visão geral de LINQ to XML em Visual Basic, Incluindo XML diretamente no seu código: Usando literais XML e Language-Integrated Axes in Visual Basic (LINQ to XML).
 Consulte também
Conceitos
Outros recursos
|