2007-10-07

AsEnumerable

Der AsEnumerable-Operator gibt als Resultat einen IEnumerable Objekt zurück. Dieser Konvertierung ermöglicht uns, viele Query Operatoren zu nutzen, weil der Typ IEnumerable bei vielen Query Operatoren als Quelle verlangt wird.

Den AsEnumerable-Operator können wir als Beispiel für die Konvertierung eines DataTable-Objektes verwenden.

Query Expression
In dem folgenden Schritt erstellen wir ein TableAdapter für unsere Contact-Datenbanktabelle und füllen ein ContactDataTable-Objekt mit den Daten mit Hilfe der Fill-Methode von unser TableAdapter-Objekt.

ContactTableAdapter contactTa = new ContactTableAdapter();
AdventureWorksDataSet.ContactDataTable contactDt =
new AdventureWorksDataSet.ContactDataTable();
contactTa.Fill(contactDt);

Im zweiten Schritt wandeln wir das contactDt-Objekt mit Hilfe der AsEnumerable-Operator in ein IEnumerable-Objekt und können so das DataTable-Objekt direkt in unserer Query-Expression verwenden.

var contacts = from c in contactDt.AsEnumerable()
where c.LastName == "Allen"
select c;

No comments: