Lassen Sie uns sagen, dass wir eine Sammlung von Person haben ObjekteFiltering Sammlung mit LINQ
class Person
{
public string PersonName {get;set;}
public string PersonAddress {get;set;}
}
Und irgendwo im Code definiert Sammlung
List<Person> pesonsList = new List<Person>();
Wir brauchen einen Filter haben, um die Sammlung zu filtern, und Geben Sie das Ergebnis an den Endbenutzer zurück. Lassen Sie uns sagen, dass wir eine Sammlung von Filtertyp
class Filter
{
public string FieldName {get;set;}
public string FilterString {get;set;}
}
Und irgendwo im Code-Objekte haben wir haben
List<Filter> userFilters = new List<Filter>();
Also müssen wir den Inhalt der personsList Sammlung filtern, indem Sie in der userFilters Sammlung definierten Filter. Wo die Filter.FieldName == "PersonName" || Filter.FieldName == "PersonAddress". Wie kann ich das mit LINQ cool machen? Die Lösungen wie switch/case, oder können, denke ich, Erweiterungsmethode auf personsList sein, die aus dem FiledName die Eigenschaft der Person ermittelt, in die man schaut, bekannt sind. Etwas anderes ? Etwas schwierig :) Danke.
Verwendet dies In-Memory-LINQ oder LinqToSql? – JustLoren
Dies ist In-Memory LINQ. Ich muss eine Reihe von Objekten abfragen, die in der Sammlung mit Filtern definiert sind, die in einer anderen Sammlung definiert sind. Es gibt keine DB-Interaktion. – Tigran