Abfragen von typisierten "DataSets"Query typed DataSets

Wenn das Schema der DataSet heißt Zeitpunkt der Anwendungskonzeptionierung, es wird empfohlen, dass Sie eine typisierte verwenden DataSet bei der Verwendung von LINQ to DataSet.If the schema of the DataSet is known at application design time, we recommend that you use a typed DataSet when using LINQ to DataSet. Eine typisierte DataSet ist eine abgeleitete Klasse eine DataSet.A typed DataSet is a class that derives from a DataSet. Damit erbt sie alle Methoden, Ereignisse und Eigenschaften eines DataSet.As such, it inherits all the methods, events, and properties of a DataSet. Darüber hinaus eine typisierte DataSet stellt stark typisierte Methoden, Ereignisse und Eigenschaften bereit.Additionally, a typed DataSet provides strongly typed methods, events, and properties. Das heißt, dass Sie auf Tabellen und Spalten anhand ihres Namens zugreifen können und keine auflistungsbasierten Methoden verwenden müssen.This means that you can access tables and columns by name, instead of using collection-based methods. Dadurch werden Abfragen einfacher und lesbarer.This makes queries simpler and more readable. Weitere Informationen finden Sie unter typisierter DataSets.For more information, see Typed DataSets.

LINQ to DataSet ebenfalls unterstützt Abfragen von Daten in einem typisierten DataSet.LINQ to DataSet also supports querying over a typed DataSet. Mit einer typisierten DataSet, Sie müssen nicht die generischen Field Methode oder SetField Methode, um Spaltendaten zugreifen zu können.With a typed DataSet, you do not have to use the generic Field method or SetField method to access column data. Eigenschaftennamen sind zum Zeitpunkt der Kompilierung verfügbar, da die Typinformationen, in enthalten ist der DataSet.Property names are available at compile time because the type information is included in the DataSet. LINQ to DataSet bietet Zugriff auf Spaltenwerte als korrektem Typ, ein, sodass Typkonflikte abgefangen werden, wenn der Code statt zur Laufzeit kompiliert wird.LINQ to DataSet provides access to column values as the correct type, so that type mismatch errors are caught when the code is compiled instead of at run time.

Bevor Sie beginnen können, eine typisierte Abfrage DataSet, müssen Sie die Klasse generieren, mit der DataSet-Designer in Visual Studio.Before you can begin querying a typed DataSet, you must generate the class by using the DataSet Designer in Visual Studio. Weitere Informationen finden Sie unter erstellen und Konfigurieren von DataSets.For more information, see Create and configure DataSets.

BeispielExample

Im folgenden Beispiel wird eine Abfrage von Daten in einem typisierten DataSet veranschaulicht:The following example shows a query over a typed DataSet:

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

Siehe auchSee also