Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn zum Zeitpunkt der Anwendungskonzeptionierung bereits das DataSet-Schema bekannt ist, wird empfohlen, bei der Benutzung von LINQ to DataSet mit einem typisierten DataSet zu arbeiten. Ein typisiertes DataSet ist eine Klasse, die von einem DataSet abgeleitet ist. Daher erbt es alle Methoden, Ereignisse und Eigenschaften eines DataSet. Darüber hinaus stellt ein typisiertes DataSet stark typisierte Methoden, Ereignisse und Eigenschaften bereit. Dies bedeutet, dass Sie nach Namen auf Tabellen und Spalten zugreifen können, anstatt sammlungsbasierte Methoden zu verwenden. Dadurch können Abfragen einfacher und besser lesbar sein. Weitere Informationen finden Sie unter "Typed DataSets".
LINQ to DataSet unterstützt auch Abfragen über ein typisiertes DataSet. Bei typierten DataSetDaten müssen Sie nicht die generische Field Methode oder SetField Methode verwenden, um auf Spaltendaten zuzugreifen. Eigenschaftennamen sind zur Kompilierungszeit verfügbar, da die Typinformationen in der DataSetDatei enthalten sind. LINQ to DataSet bietet Zugriff auf Spaltenwerte als korrekten Typ, sodass Typenkonfliktfehler abgefangen werden, wenn der Code kompiliert wird statt zur Laufzeit.
Bevor Sie mit der Abfrage einer eingegebenen DataSetAbfrage beginnen können, müssen Sie die Klasse mithilfe des DataSet-Designers in Visual Studio generieren. Weitere Informationen finden Sie unter Erstellen und Konfigurieren von DataSets.
Beispiel
Im folgenden Beispiel wird eine Abfrage von Daten in einem typisierten DataSet veranschaulicht:
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