Ich habe DataTable mit zwei Spalten Autor und Buchname .
Ich möchte überprüfen, ob der angegebene Zeichenfolgenwert Author bereits in der DataTable vorhanden ist. Gibt es eine eingebaute Methode, um dies zu überprüfen, wie bei Arrays array.contains
?
table.Any(t => t.Author == author);
Antworten:
Sie können verwenden
LINQ-to-DataSet
mitEnumerable.Any
:Ein anderer Ansatz ist zu verwenden
DataTable.Select
:Ja, Sie können diese Abfrage verwenden:
quelle
System.Data.DataSetExtensions
zur Referenz undusing System.Linq;
zur Verwendung der Klasse hinzuDataTable.Select
Syntax ist jedoch begrenzt, während LINQ das vollständige .NET-Framework oder benutzerdefinierte Methoden verwenden kann. Also nur, wenn Sie an .NET 2 festhalten, sollten Sie verwendenDataTable.Select
, sonst würde ich immer LINQtbl.Select()
ist dies erheblich schneller als bei den anderen Ansätzen.Sie können Linq verwenden. Etwas wie:
quelle
Fügen Sie Ihrer using-Klausel Folgendes hinzu:
und hinzufügen:
auf Referenzen.
quelle
Sie sollten in der Lage sein, die DataTable.Select () -Methode zu verwenden. Sie können uns das so machen.
Die Select () - Funktion gibt ein Array von DataRows für die Ergebnisse zurück, die mit der where-Anweisung übereinstimmen.
quelle
Sie können die Datenbank als IEnumberable festlegen und mit linq prüfen, ob die Werte vorhanden sind. Schauen Sie sich diesen Link an
LINQ-Abfrage auf Datentabelle, um zu überprüfen, ob ein Datensatz vorhanden ist
das gegebene Beispiel ist
Sie könnten wo mit jedem ergänzen
quelle