Hey Leute, also bin ich auf etwas gestoßen, was vielleicht ein Fehler in der Extension-Methode .CopyToDataTable ist.
Diese Methode wird verwendet, indem System.Data.DataTableExtensions (in VB.NET) importiert und dann die Methode für ein IEnumerable-Objekt aufgerufen wird. Sie würden dies tun, wenn Sie eine Datentabelle mit LINQ filtern und dann die DataTable am Ende wiederherstellen möchten.
d. h .:
%Vor%Im obigen Beispiel gibt die "WHERE" -Filterung möglicherweise keine Ergebnisse zurück. Wenn dies geschieht, löst CopyToDataTable eine Ausnahme aus, da keine DataRows vorhanden sind.
Warum?
Das korrekte Verhalten sollte sein, eine DataTable mit Rows.Count = 0 zurückzugeben.
Kann jemand eine saubere Umgehung dazu denken, so dass derjenige, der CopyToDataTable aufruft, dieses Problem nicht kennen muss?
System.Data.DataTableExtensions ist eine statische Klasse, also kann ich das Verhalten nicht überschreiben .... irgendwelche Ideen? Habe ich etwas verpasst?
Prost
UPDATE:
Ich habe dies als Problem an Connect gesendet. Ich hätte gerne noch Vorschläge, aber wenn Sie mir zustimmen, können Sie das Problem über den obigen Link bei Connect ablehnen.
Prost
Ich bin heute auf dieses Problem gestoßen und habe eine Workaround wenn es hilft.
Entschuldigung, aber das Blog ist in C #, aber ich habe gerade ein IEnumerable für die Variable LINQ verwendet und überprüfe .Current, um zu sehen, ob es irgendwelche Zeilen zurückgegeben hat.
Tags und Links .net linq vb.net extension-methods