2017-11-27 1 views
0

Ich möchte Linq für Abfragen der Bindungsquelle verwenden.Verwenden Sie LINQ für Abfragen auf BindingSource

var myItems = ((IList<myObjectBinding>)myTableBindingSource.List).Where(some linq query); 

Dieser Code gibt den folgenden Fehler während der Laufzeit: Kann nicht das Objekt des Typs ‚System.Data.DataView‘ eingeben ‚System.Collections.Generic.IList

So werfen, Ist es möglich, zu verwenden, Linq für Abfragen zur Bindungsquelle? Ich möchte bindende Quellobjekte an anderer Stelle im Code verwenden.

+0

Sie können die folgende Vorgehensweise überprüfen können: [ DataView zur generischen Liste] (https://stackoverflow.com/a/6276261/5913970) –

Antwort

0

Sie könnten einfach einen Konverter schreiben und Ihre LINQ-Logik in den Konverter einfügen.

+0

Würden Sie bitte diese Methode erklären? – fidelroha

0

zuerst müssen Sie alle Datensätze aus bindingSource.DataSource in einer Liste erhalten wie

var list = myBindingSource.List.OfType<yourmodel/class>(); 

als Sie Abfrage auf dieser Liste wie

var records = list.where(u => u.id == yourid).ToList(); 
Verwandte Themen