Compartilhar via


Usando o LINQ translation from VPE for Csharp

É muito comum para aplicativos para usar dados em bancos de dados SQL ou documentos XML.Tradicionalmente, sistema autônomo desenvolvedores tinham de aprender uma linguagem de programação principal, sistema autônomo translation from VPE for Csharp e uma linguagem secundária, sistema autônomo SQL ou XQuery.LINQ (consulta integrada à linguagem) traz recursos de consulta para o linguagem translation from VPE for Csharp propriamente dito. Agora, em vez de aprender uma linguagem de consulta separado, você pode usar o seu conhecimento de translation from VPE for Csharp, juntamente com algumas palavras-chave adicionais e conceitos, consultar bancos de dados SQL, datasets ADO.NET, documentos XML e qualquer classe de coleção do .NET que implementa o IEnumerable interface.

Vantagens de usar LINQ

  • Sintaxe familiar para escrever consultas.

  • time de compilar verificação de erros de sintaxe e de segurança de tipos.

  • Maior suporte a depurador.

  • Suporte a IntelliSense.

  • Capacidade de trabalhar diretamente com elementos XML em vez de criar um documento XML de contêiner, conforme necessário com W3C DOM.

  • De memória XML modificação de documento que é poderoso e ainda mais simples usar do que o XPath ou XQuery.

  • Poderosa filtragem, pedidos e recursos de agrupamento.

  • Modelo consistente para trabalhar com dados em vários tipos de fontes de dados e formatos.

Aprimoramentos de linguagem translation from VPE for Csharp que suporte a LINQ

A seguir estão algumas novas estruturas de linguagem que são adicionadas ao translation from VPE for Csharp 3.0 para oferecer suporte a LINQ:

Estrutura de linguagem

Descrição

expressões de consulta

Uma sintaxe declarativa de consulta usada para consultar dados de qualquer LINQ-habilitado de fonte de dados. Para obter mais informações, consulte Expressões de consulta LINQ (Guia de programação C#) e C# 3.0 recursos LINQ suporte.

variáveis digitadas implicitamente

Uma variável, especificado com o modificador de var, que permite que o compilador a inferir o tipo da variável.Para obter mais informações, consulte Digitada implicitamente variáveis Local (C# Guia de programação) e C# 3.0 recursos LINQ suporte.

inicializadores de objeto

Permite a inicialização dos objetos sem chamar explicitamente um construtor para o objeto.Para obter mais informações, consulte Objeto e inicializadores de coleção (Guia de programação C#) e C# 3.0 recursos LINQ suporte.

tipos anônimo

Permite que o compilador para criar objetos sem exigir que você especifica um tipo de dados nomeado.O nome do tipo só está disponível para o compilador.Para obter mais informações, consulte Tipos anônimos (Guia de programação C#) e C# 3.0 recursos LINQ suporte.

métodos de extensão

Habilita a extensão de qualquer tipo existente por meio da associação de métodos estático para o tipo.Para obter mais informações, consulte C# 3.0 recursos LINQ suporte.

as expressões lambda

Um embutido expressão ou demonstrativo bloco que pode ser usado sempre que é esperado um tipo delegado.

Para obter mais informações, consulte Expressões lambda (Guia de programação C#) e C# 3.0 recursos LINQ suporte.

Escrevendo consultas LINQ

Se você estiver trabalhando com bancos de dados SQL, datasets ADO.NET, coleções do .NET ou documentos XML, a estrutura básica de um LINQ expressão de consulta é o mesmo. A expressão de consulta é começa com um from cláusula, seguida por cláusulas de consulta, sistema autônomo where, orderby, select, e assim por diante. A expressão completa é armazenada em uma variável de consulta que pode ser executada ou modificado qualquer número de vezes.A sintaxe de consulta de expressão é semelhante à sintaxe de SQL.Por exemplo, você poderia escrever um LINQ consulta que retorna todos sistema autônomo alunos em um students banco de dados que possuem science sistema autônomo seus principais usando a seguinte sintaxe:

IEnumerable<Student> studentQuery =

from student in studentApp.students

where student.Major == "Science"

select student;

Para saber mais sobre expressões de consulta, consulte Basic Consulta operações (LINQ), Introdução às consultas do LINQ, e Demonstra Passo a passo: Escrever consultas em C# (LINQ).

LINQ para Objetos

A frase, LINQ para objetos, refere-se ao uso de LINQ a consulta conjuntos de dados na memória, sistema autônomo sistema autônomo classes no System.Collections e System.Collections.Generic espaços para nome. Essas classes incluem ArrayList, List<T>, Dictionary<K,T>, e assim por diante. Você pode consultar matrizes pois suportam IEnumerable <t>implicitamente.Para obter mais informações, consulte LINQ para Objetos.

Pode até mesmo importar um arquivo de texto em estruturas de dados enumerável e executar consultas para filtrar ou classificar seu Sumário.Para um exemplo, consulte Como: Contar de ocorrências de uma palavra em uma cadeia de caracteres (LINQ).

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 Designer Relacional de Objetos.

Você pode usar o Designer Relacional de Objetos para mapear LINQ to SQL classes de tabelas em um banco de dados e, em seguida, gravar LINQ consultas para BIND dados a controles em seu aplicativo. Por exemplo, a seguinte LINQ consulta vincula os resultados de um LINQ consulta (todos os clientes dos Estados Unidos) para uma fonte de ligação de um DataGridView controle.

var 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, Walkthrough: Creating LINQ to SQL Classes (O/R Designer) e How to: Add LINQ to SQL Classes to a Project (O/R Designer).

Observação:

O Designer Relacional de Objetos atualmente não oferece suporte SQL Server Compact 3.5 bancos de dados. 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 conectar-se diretamente ao banco de dados, a DataSet permite que um aplicativo use dados off-linha (em cache), ou subconjuntos de várias fontes de dados. Quando o aplicativo for colocado online, as alterações no DataSet pode ser atualizado no banco de dados.

LINQ para o DataSet faz consulta sobre em cache os dados mais rápidos e fácil do que a filtragem e classificação métodos disponível para um DataSet. Para obter mais informações, consulte LINQ to DataSet.

LINQ to XML

LINQ to XML permite que você criar e modificar documentos XML com facilidade, usando LINQ expressões de consulta em vez de XPath ou XQuery. LINQ to XML é um novo XML na memória programação API que utiliza construções de programação modernas em vez de DOM (modelo de objeto de documento) do W3C. Para obter mais informações, consulte LINQ to XML vs. DOM, LINQ to XML e LINQ to XML Classes Overview.

Consulte também

Conceitos

Getting Started (LINQ to SQL)

Outros recursos

Introdução ao LINQ em C#

Getting Started (LINQ to DataSet)

Getting Started (LINQ to XML)