Wie unterstützt die dynamische Bibliothek (System.Linq.Dynamic) LIKE Operator?

8

Kann jeder Körper sagen, wie kann ich LIKE-Operator mit Microsoft Dynamic Expression API verwalten?

Ich muss mehr als einen Like-Ausdruck in meine dynamische Abfrage einfügen

%Vor%

danke haufen

    
Kiarash 05.01.2011, 01:06
quelle

7 Antworten

17

Versuchen Sie einfach "CityName.Contains (@ 1)" zu verwenden, dies wird in das richtige Lambda konvertiert, da es sich um einen Methodenaufruf auf einen zugänglichen Typ handelt.

etwas wie:

%Vor%

Habe es gerade mit der Beispiel-App getestet, die mit der dynamischen Bibliothek geliefert wird, und es erzeugt den LIKE-Operator

    
Jaime 05.01.2011, 02:08
quelle
3

Fügen Sie einfach weitere where-Klauseln hinzu

%Vor%

aber die obige Abfrage erstellt es:

  

Wählen Sie * vom Kunden aus, wo CityName   wie "London" und CityName mögen   "USA" usw. ...

Sie wollen

  

Wählen Sie * vom Kunden aus, wo CityName   wie "London" oder CityName   "USA" usw. ...

Um Dynamic Created oder Anweisungen zu verwenden, können Sie predicatebuilder verwenden von der Funktionalität, die Sie verwenden können ...

Ссылка

%Vor%     
Gaven 05.01.2011 01:14
quelle
2

Sie können .StartsWith(), .EndsWith() und .Contains() verwenden, was LIKE SQL mit nachfolgenden, führenden und umgebenden Platzhalterzeichen erzeugt. Ich kenne keine Möglichkeit, eine Anweisung mit einem eingebetteten Platzhalter tho zu generieren.

    
Arne Claassen 05.01.2011 01:14
quelle
2

@ Jaime das ist was ich brauche, danke.

  

var query =   db.Kunden.   Wo ("CityName.Contains (@ 0) oder CityName.Contains (@ 1)", "London", "USA")

    
GBK 18.03.2011 03:56
quelle
2

Dies wird dafür sorgen, dass "Gefällt mir" in ganzzahligen Feldern verwendet wird ...

.Where (searchField + ".ToString (). Enthält (@ 0)", searchString);

    
Dino 23.10.2012 21:54
quelle
0

Sie können das versuchen.

%Vor%     
flycat2002 05.01.2011 08:35
quelle
0

Ich habe meinen eigenen C # ähnlichen Evaluator erstellt und ihn in die Dynamische Bibliothek eingebunden. Sehen Sie sich meinen Blogbeitrag Ссылка

an     
Todd 01.03.2012 01:54
quelle

Tags und Links