Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Se o esquema do DataSet for conhecido no tempo de design do aplicativo, recomendamos usar um DataSet tipado ao usar o LINQ to DataSet. Um DataSet tipado é uma classe derivada de um DataSet. Dessa forma, herda todos os métodos, eventos e propriedades de um DataSet. Além disso, um DataSet tipado fornece métodos, eventos e propriedades fortemente tipados. Isso significa que você pode acessar tabelas e colunas por nome, em vez de usar métodos baseados em coleção. Isso torna as consultas mais simples e legíveis. Para obter mais informações, consulte Typed DataSets.
LINQ to DataSet também dá suporte à consulta por meio de um DataSet tipado. Com um tipo DataSet, você não precisa usar os métodos genéricos Field ou SetField para acessar os dados da coluna. Os nomes de propriedade estão disponíveis no momento da compilação porque as informações de tipo estão incluídas no DataSet. LINQ to DataSet fornece acesso a valores de coluna como o tipo correto, de modo que erros de incompatibilidade de tipo sejam capturados quando o código é compilado em vez de durante o tempo de execução.
Antes de começar a consultar um tipo DataSet, você deve gerar a classe usando o Designer de Conjunto de Dados no Visual Studio. Para obter mais informações, consulte Criar e configurar Conjuntos de Dados.
Exemplo
O exemplo a seguir mostra uma consulta sobre um DataSet tipado:
var query = from o in orders
where o.OnlineOrderFlag == true
select new { o.SalesOrderID,
o.OrderDate,
o.SalesOrderNumber };
foreach(var order in query)
{
Console.WriteLine("{0}\t{1:d}\t{2}",
order.SalesOrderID,
order.OrderDate,
order.SalesOrderNumber);
}
Dim orders = ds.Tables("SalesOrderHeader")
Dim query = _
From o In orders _
Where o.OnlineOrderFlag = True _
Select New {SalesOrderID := o.SalesOrderID, _
OrderDate := o.OrderDate, _
SalesOrderNumber := o.SalesOrderNumber}
For Each Dim onlineOrder In query
Console.WriteLine("{0}\t{1:d}\t{2}", _
onlineOrder.SalesOrderID, _
onlineOrder.OrderDate, _
onlineOrder.SalesOrderNumber)
Next