2012-04-11 13 views
0

Wir verwenden Linq-to-SQL mit SQL Server als ORM für unser neues Projekt. Ich habe noch nie Linq-to-SQL benutzt, daher kann meine Frage etwas dumm sein. Ich möchte ein Verfahren haben, die eine Suche nach Einrichtungen in DB durch Prädikat, so etwas wie dies durchführen werden:Verwendung der Vergleichssuche mit Linq-to-SQL

public IEnumerable<T> Get<T>(Expression<Func<T, bool>> @where) 

Könnten Sie einige Ratschläge geben, wo ich einige Code-Beispiele oder Ideen, wie dies implementieren sehen kann?

+0

hm ... sehe nicht, wie kann es mir helfen, Anfragen an die DB zu senden –

Antwort

1

Sie wollen Wo (hier ist Originalliste jede zählbare, insbesondere es eine Tabelle, aus dem Kontext sein kann):

var filteredList = originalList.Where(element => ShouldBeIncluded(element)); 

Edit:

oder

var filteredList = 
    from element in originalList 
    where ShouldBeIncluded(element) 
    select element; 

Und wenn ShouldBeIncluded ist ein Func<T, bool>, es gibt eine Augenweide vereinfachte Syntax:

Edit 2: Beachten Sie auch, dass die vollständige Syntax:

var filteredList = originalList.Where<TTypeOfElement>(element => ShouldBeIncluded(element)); 

Aber das allgemeine Argument kann weggelassen werden, da die Compiler es von der Art der Originalliste ableiten werden (vorausgesetzt, es ist ein IEnumerable<TTypeOfelement>).