2016-11-18 1 views
2

Gibt es eine Möglichkeit, OR-Operator für Bedingungen in Abfragen zu verwenden. Ich weiß, dass der Modifikator [QueryDbField(Term=QueryTerm.Or)] verwendet werden kann, aber dies wird das Verhalten der Eigenschaft immer ändern. Vielleicht muss ich mal mit AND abfragen und mal muss ich mit ODER, mit dem gleichen Feld, abfragen. So etwas wieServicestack - OR-Operator für die Verwendung der Autoquery-API API

state = la UND Menge = 1000 OR TotalAmount = 1000

werden

{url}? State = la & Menge = 1000 & OR TotalAmount = 1000

Antwort

1

Sie können keine OR-Bedingung für das QueryString-Adhoc angeben wie diese, aber sie könnte möglicherweise eine benutzerdefinierte Vorlage verwenden, um eine benutzerdefinierte Abfrage, beispiels zu erstellen:

public class Query : QueryDb<Table> 
{ 
    public int Amount { get; set; } 
    public int TotalAmount { get; set; } 

    [QueryDbField(Template = "Amount = {Value} OR TotalAmount = {Value}")] 
    public int AnyAmount { get; set; } 
} 

die Sie dann sollten wir abfragen mit:

?anyamount=1000 
+0

die QueryDbField noch unterstützt wit hservicestack 4.x ist? –

+0

@ PrashantLakhlani diese Funktion existiert noch und wurde nicht entfernt. – mythz

Verwandte Themen