Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Si le schéma de DataSet est connu au moment de la conception de l'application, nous vous recommandons d'utiliser un DataSet typé lors de l'utilisation de LINQ to DataSet. Une classe typée DataSet est une classe qui dérive d’un DataSet. Par conséquent, il hérite de toutes les méthodes, événements et propriétés d’un DataSet. En outre, un DataSet typé fournit des méthodes, des événements et des propriétés fortement typés. Cela signifie que vous pouvez accéder aux tables et aux colonnes par nom, au lieu d’utiliser des méthodes basées sur une collection. Cela rend les requêtes plus simples et plus lisibles. Pour plus d’informations, consultez DataSets typés.
LINQ to DataSet prend également en charge l’interrogation sur un DataSet typé. Avec un DataSet typé, vous n'avez pas besoin d'utiliser la méthode générique Field ou SetField pour accéder aux données de la colonne. Les noms de propriétés sont disponibles au moment de la compilation, car les informations de type sont incluses dans le DataSetfichier . LINQ to DataSet fournit l’accès aux valeurs de colonne en tant que type correct, afin que les erreurs d’incompatibilité de type soient interceptées lorsque le code est compilé plutôt qu'à l'exécution.
Avant de pouvoir commencer à interroger un élément typé DataSet, vous devez générer la classe à l'aide du Concepteur DataSet dans Visual Studio. Pour plus d’informations, consultez Créer et configurer des DataSets.
Exemple :
L'exemple suivant montre une requête sur un DataSet typé :
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