Ich versuche, ein paar Felder auf eine Autoquery zu ändern, Abfrage mit oder (es ist ein Suchfeld, das viele Felder sucht). Dies scheint nicht zu funktionieren, obwohl es laut der Dokumentation sollte.ServiceStack AutoQuery und Field Term Oder
public class PropertyGet : QueryDb<DomainModel.Property>
{
[QueryDbField(Term=QueryTerm.Or)]
public string NameContains { get; set; }
[QueryDbField(Term=QueryTerm.Or)]
public string CityContains {get;set;}
}
aber dies tut:
[QueryDb(QueryTerm.Or)]
public class PropertyGet : QueryDb<DomainModel.Property>
{
public string NameContains { get; set; }
public string CityContains {get;set;}
}
Abfrage Verhalten ändern
von Standardabfragen wirken wie ein Filter und jede Bedingung kombiniert wird mit AND boolean Begriff, um die result- zu filtern einstellen. Dies kann geändert werden, um einen oder am Feldebene zu verwenden, indem Begriff = QueryTerm.Or Modifikator spezifiziert, z:
[QueryDbField (Term = QueryTerm.Or)] public string Name {get; einstellen; }
Wie kann ich eine Feldebene oder Abfrage durchführen?
Was meinen Sie mit "Feldebene oder Abfrage"? Die erste Abfrage muss ein Filter in einer WHERE-Anweisung sein. Welche SQL möchten Sie generieren? – mythz
Ich habe nur versucht, basierend auf oder anstelle von und zu filtern. In meinem Fall, wenn Name enthält oder Stadt enthält. Es wird andere Felder geben, die "und" Bedingungen haben. Ich hatte erwartet, dass der erste Fall funktionieren würde, bevor ich die Bedingungen eintrug. – lucuma
Dies ist alles in Bezug auf ein Kendo-Gitter. Die Spalten sind filterbar (AND) und es gibt ein Suchfeld oberhalb des Rasters, das eine Reihe von OR-Bedingungen für dieselbe automatische Abfrage erzeugen soll. – lucuma