Heim >Backend-Entwicklung >C++ >Wie kann ich Linq -Abfragen für Datatables ausführen?

Wie kann ich Linq -Abfragen für Datatables ausführen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-30 03:16:08822Durchsuche

How Can I Perform LINQ Queries on DataTables?

Verwenden Sie LINQ, um Datata abzufragen: Komplette Anleitung

Obwohl allgemein angenommen wird, dass das DataTatable nicht direkt verwendet werden kann, kann dies tatsächlich durch einige Techniken erreicht werden. DataTable implementiert die

-Schinschnittstelle standardmäßig nicht, sodass sie die Zeilensammlung nicht direkt abfragen kann.

IEnumerable<T> Die Lösung besteht darin, die von der

-Anbaugruppe bereitgestellte

-Expansionsmethode zu verwenden. Wenn Sie diese Methode auf DataTable aufrufen, können Sie ein System.Data.DataSetExtensions -Objekt erhalten und dann für die Linq -Abfrage verwenden. AsEnumerable() IEnumerable<DataRow> Zum Beispiel geben die folgenden Anfragen alle Zeilen zurück, die

🎜> Felder entsprechen 1:

myDataTable RowNo Sie können auch den Lambda -Ausdruck verwenden, um eine Linq -Abfrage zu erstellen:

<code class="language-csharp">var results = from myRow in myDataTable.AsEnumerable()
              where myRow.Field<int>("RowNo") == 1
              select myRow;</code>

Bitte beachten Sie, dass Sie eine Verweise auf die

-Artage im Projekt hinzufügen müssen, um auf diese Erweiterungen zuzugreifen.
<code class="language-csharp">var result = myDataTable.AsEnumerable()
                         .Where(myRow => myRow.Field<int>("RowNo") == 1);</code>

Wenn Sie die Abfrageergebnisse System.Data.DataSetExtensions wieder in DataTable konvertieren müssen, können Sie die

-Expansionsmethode verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich Linq -Abfragen für Datatables ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn